首页 > 编程知识 正文

如果一个抽象类实现某个接口,抽象类和接口的区别和联系

时间:2023-05-06 14:45:52 阅读:154966 作者:1785

A:成员的区别

抽象类:

生成方法:包含用于实例化子类的生成方法。

成员变量:可以是变量或常量。

成员方法:可以是抽象的也可以是非抽象的。

接口:

构建方法:无构建方法

成员变量:仅限常数。 默认修饰符:公共静态文件

成员方法: jdk1.7只能是抽象的。 默认修饰符: public abstract (建议:始终由您自己手动提供默认修饰符) )。

jdk1.8可以写以default和static开头的具体方法

B:类和接口的关系区别

类和类:

要继承关系,只能单独继承。 可以进行多层继承。

类和接口:

关系的实现可以单独实现,也可以多实现。

类还可以在继承类的同时实现多个接口。

接口:

继承关系可以单独继承,也可以多继承。

C:体现的理念不同

抽象类中定义的都是继承体系中的共性内容。

接口是功能的集合,是系统性的额外功能,是暴露出的规则。

请分割

你选择使用接口和抽象类的依据是什么?

接口和抽象类的概念不同。 接口是对动作的抽象,抽象类是对根源的抽象。

抽象类指示此对象是什么。 界面指示可以对此对象做什么。 例如,男人、女人,这两个班(如果是班的话……),他们抽象的班就是人。 解释一下,他们都是人。

人能吃,狗也能吃。 可以将“吃”定义为一个界面,让这些类实现它。

因此,在高级语言中,一个类只能继承一个类(抽象类),但可以实现多个接口(吃饭接口、行走接口) (就像人类不是同时生物和非生物一样)。

csdj在关注事物本质时,使用抽象类; csdj在关注一个操作时,使用接口。

抽象类的功能必须远远超出接口,但定义抽象类的成本很高。 因为在高级语言中,(实际设计上也是)每个类只能继承一个类。 此类必须继承或创建所有子类的共性。 接口在功能上会弱很多,但只是一个动作的说明。 此外,可以在一个类中同时实现多个接口。 在设计阶段难度会下降。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。