A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© lhc19931210 中级黑马   /  2016-4-10 19:15  /  928 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

抽象类即为abstract class修饰,内部有抽象方法,如果是抽象方法必须用抽象类否则程序报错,但是抽象类中可以有抽象方法,也可以不用abstract 修饰方法。抽象方法中可以不用写代码,默认用public 修饰,也可以用protect修饰。
接口是抽象类中的特例,成员方法和属性都是用public final 修饰,如果一个类要实现接口,必须要实现接口中的所以方法,如果想实现部分方法,就用抽象类来实现。

7 个回复

倒序浏览
:接口的子类
a:可以是抽象类。但是意义不大。
b:可以是具体类。要重写接口中的所有抽象方法。(推荐方案
回复 使用道具 举报
接口中的方法必须是抽象方法,而抽象类中只要有一个抽象方法即可,其他方法可以不是抽象方法
接口和抽象类中 抽象方法都可以不写abstract关键字,系统会自动补足。
回复 使用道具 举报
从成员属性来说,接口的是全局常量,不可改变;抽象类可以是普通成员变量
回复 使用道具 举报
接口是抽象类中的特例,成员方法和属性都是用public final 修饰         好像不是吧?
回复 使用道具 举报
女神之泪 来自手机 中级黑马 2016-4-16 20:22:30
地板
可以从成员变量,有无构造方法,成员方法这三个方面区分哦
回复 使用道具 举报
很多类只需要被继承,而本身没有建立对象的时候,而类中的很多方法被继承之后必须被覆盖,否则没有任何意义,这种情况下,我们把它定义成抽象类,来节省内存空间和书写格式。
接口里面全都是抽象方法,但是接口里面的抽象方法和抽象类里面的抽象方法并不一样,因为接口是为我们在不同的类或者说不同的产品规格中间建立的一个共同协作共同合作的这么一个介质,比如说,USB接口。因为只是一个传输介质,所以他里面的方法自然需要具体的类来把它覆盖,所以接口里面全都是抽象方法,这是接口里面都是抽象方法的原因。
回复 使用道具 举报
py389172739 发表于 2016-4-16 19:27
接口是抽象类中的特例,成员方法和属性都是用public final 修饰         好像不是吧? ...

用 public static final  修饰
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马