黑马程序员技术交流社区

标题: 抽象类和接口的区别 [打印本页]

作者: qingxi1    时间: 2014-8-10 10:08
标题: 抽象类和接口的区别
我们在学校接口时,老师说:接口可以理解成抽象类,那他们有什么区别呢?

作者: 黑马_java猿    时间: 2014-8-10 10:27
抽象类里面可以有 抽象方法和一般方法,而接口里面只能有抽象方法,抽象方法需要被子类实现。
例如:public void show();     public void show(){}    前者为抽象方法 后者为一般方法
作者: 刘小印    时间: 2014-8-10 10:36
黑马_java猿 发表于 2014-8-10 10:27
抽象类里面可以有 抽象方法和一般方法,而接口里面只能有抽象方法,抽象方法需要被子类实现。
例如:public ...

当子类没有实现所有的抽象方法时,子类也要定义为抽象类
作者: 草鱼狂飙    时间: 2014-8-10 11:19
1:抽象类只能被继承,而且只能单继承。
接口需要被实现,而且可以多实现。
2:抽象类中可以定义非抽象方法,子类可以直接继承使用。
接口中都有抽象方法,需要子类去实现。
3:抽象类使用的是  is a 关系。
接口使用的 like a 关系。
4:抽象类的成员修饰符可以自定义。
接口中的成员修饰符是固定的。全都是public的。

作者: 晓风    时间: 2014-8-10 13:09
抽象类和接口:
抽象类和接口都是不断抽象出来的。抽象类和接口都要通过非抽象子类来实例化
区别:
     一,定义抽象类用的关键字是:abstract,
           定义接口用的关键字是:interface。
     二,抽象类可有实例类成员,普通方法,构造方法,也可以有抽象方法。
           接口的类成员是公共的静态常量,和公共的抽象方法。没有构造函数。
     三,抽象类只能继承一个类,接口可以继承多个接口。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2