您现在的位置是:首页 >生活 > 2024-08-07 05:51:51 来源:

接口抽象类的特点(接口抽象类)

导读 大家好,我是小夏,我来为大家解答以上问题。接口抽象类的特点,接口抽象类很多人还不知道,现在让我们一起来看看吧!“抽象类”和“接口”...

大家好,我是小夏,我来为大家解答以上问题。接口抽象类的特点,接口抽象类很多人还不知道,现在让我们一起来看看吧!

“抽象类”和“接口”的区别:

1、接口可以被多重implement*,抽象类只能被单一extends 。  

2、接口只有定义,抽象类可以有定义和实现 。  

3、接口的字段定义默认为:public static final, 抽象类字段默认是“friendly”。

4、接口没有构造方法,抽象类可以有构造方法。

抽象类

抽象类是用来捕捉子类的通用特性的 。它不能被实例化,只能被用作子类的超类。抽象类是被用来创建继承层级里子类的模板。

接口

接口是抽象方法的集合。如果一个类实现了某个接口,那么它就继承了这个接口的抽象方法。这就像契约模式,如果实现了这个接口,那么就必须确保使用这些方法。接口只是一32313133353236313431303231363533e78988e69d8331333366306466种形式,接口自身不能做任何事情。

扩展资料:

语法定义层

在abstract class方式中,Demo可以有自己的数据成员,也可以有非abstract的成员方法,而在interface方式的实现中,Demo只能够有静态的不能被修改的数据成员,所有的成员方法都是abstract的。

编程层面

abstract class在Java语言中表示的是一种继承关系,一个类只能使用一次继承关系。但是,一个类却可以实现多个interface。

设计理念层面

abstract class在Java语言中体现了一种继承关系,要想使得继承关系合理,父类和派生类之间必须存在"is a"关系,即父类和派生类在概念本质上应该是相同的。

对于interface 来说则不然,并不要求interface的实现者和interface定义在概念本质上是一致的,仅仅是实现了interface定义的契约(功能)而已。

参考资料:百度百科——java抽象类

importnew——Java抽象类与接口的区别

本文到此讲解完毕了,希望对大家有帮助。