栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

抽象类和接口的区别

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

抽象类和接口的区别

在语言层面上,抽象类和接口的区别是

抽象类使用extend去继承,而接口是使用implement去实现
一个类只能继承与一个抽象类,但是却可以实现多个接口

在使用层面上呢

举个栗子

public abstract class animal{
	public void eat(){};
    public void sleep(); 
}

public class dog extend animal{
}

public class bird extend animal{
}

动物都会吃饭睡觉,那么我们可以定义一个动物的抽象类,将所有动物都具有的能力加入这个抽象类中。
从中我们可以看到,抽象类是对一类事物的通用能力的抽象,将他们所具备的相同能力抽象出来,当我有一个具备吃饭睡觉能力的东西时,我可以让他继承我这个anima抽象类,来告诉大家在我看来他是个动物。
可以说抽象类,是对具有相同行为的事务的分类。

但是bird除了吃饭睡觉之外,他还会飞。这是他所具备的特殊的能力。

public interface fly{
	void fly();
}
public class bird extend animal, implement fly{
	@Override
    public void fly() {
    }
}

鸟即是动物,又会飞,那么我们可以让他实现飞翔接口,告诉大家,我是动物,且我会飞,为什么这个fly不直接写在bird里,而要以接口的形式实现呢。
用接口的话,别人可以在看到类的申明文件的情况下就知道他具备哪些能力。

总结

总的来讲,感觉抽象类,是对具有同一类能力的事物的能力的汇总,一定程度上复用代码,且对事物分类
接口的话,是对某个能力或者行为的定义。强调有没有这个能力。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/285646.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号