黑马程序员技术交流社区

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

作者: lhc19931210    时间: 2016-4-10 19:15
标题: 接口和抽象类的区别
抽象类即为abstract class修饰,内部有抽象方法,如果是抽象方法必须用抽象类否则程序报错,但是抽象类中可以有抽象方法,也可以不用abstract 修饰方法。抽象方法中可以不用写代码,默认用public 修饰,也可以用protect修饰。
接口是抽象类中的特例,成员方法和属性都是用public final 修饰,如果一个类要实现接口,必须要实现接口中的所以方法,如果想实现部分方法,就用抽象类来实现。
作者: qing31657552    时间: 2016-4-10 22:56
:接口的子类
a:可以是抽象类。但是意义不大。
b:可以是具体类。要重写接口中的所有抽象方法。(推荐方案
作者: 小白想学javaEE    时间: 2016-4-10 23:33
接口中的方法必须是抽象方法,而抽象类中只要有一个抽象方法即可,其他方法可以不是抽象方法
接口和抽象类中 抽象方法都可以不写abstract关键字,系统会自动补足。
作者: 小白想学javaEE    时间: 2016-4-10 23:34
从成员属性来说,接口的是全局常量,不可改变;抽象类可以是普通成员变量
作者: py389172739    时间: 2016-4-16 19:27
接口是抽象类中的特例,成员方法和属性都是用public final 修饰         好像不是吧?
作者: 女神之泪    时间: 2016-4-16 20:22
可以从成员变量,有无构造方法,成员方法这三个方面区分哦
作者: YQboy1991    时间: 2016-4-20 19:38
很多类只需要被继承,而本身没有建立对象的时候,而类中的很多方法被继承之后必须被覆盖,否则没有任何意义,这种情况下,我们把它定义成抽象类,来节省内存空间和书写格式。
接口里面全都是抽象方法,但是接口里面的抽象方法和抽象类里面的抽象方法并不一样,因为接口是为我们在不同的类或者说不同的产品规格中间建立的一个共同协作共同合作的这么一个介质,比如说,USB接口。因为只是一个传输介质,所以他里面的方法自然需要具体的类来把它覆盖,所以接口里面全都是抽象方法,这是接口里面都是抽象方法的原因。
作者: duaqichao    时间: 2016-4-20 22:51
py389172739 发表于 2016-4-16 19:27
接口是抽象类中的特例,成员方法和属性都是用public final 修饰         好像不是吧? ...

用 public static final  修饰




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