黑马程序员技术交流社区
标题:
abstract class和interface有什么区别?
[打印本页]
作者:
824519050
时间:
2015-7-16 09:47
标题:
abstract class和interface有什么区别?
abstract class和interface有什么区别?
作者:
拾起落叶
时间:
2015-7-16 10:22
一个是抽象类,一个是接口
接口可以说是一个特殊的抽象类
区别:
1、抽象类体现继承关系,一个类只能单继承。
接口体现实现关系,一个类可以多实现。同时接口与接口之间有继承关系。
2、抽象类是继承,是 "is a "关系。
接口是实现,是 "like a"关系。
3、抽象类中可以定义非抽象方法,供子类直接使用。
接口的方法都是抽象,接口中的成员都有固定修饰符。
4、抽象类中可以私有变量或方法。
接口中的常量和方法都是public修饰的权限。
作者:
陈鹏No1
时间:
2015-7-16 10:23
在abstract class方式中,类可以有自己的数据成员,也可以有非abstarct的成员方法。抽象方法和抽象类都必须被abstract关键字修饰。抽象类中的方法要被使用,必须由子类复写所有的抽象方法后,建立子类对象调用。 interface是个特殊的抽象类,所有成员方法都是抽象的。接口中所有成员方法都是public abstract修饰的,所有成员变量都是public static final修饰的(相当于常量)。而且子类可以多实现接口,接口与接口直接也可以多继承。在使用的时候,一般扩展功能定义在接口中,这样可以提高程序的扩展性。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2