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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

大家知道在java中,abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。
还有就是abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,但是具体的区别,哪位高手给举例说明一下,多谢!

评分

参与人数 1黑马币 +9 收起 理由
黄玉昆 + 9 多复习复习哦

查看全部评分

2 个回复

倒序浏览
用abstract修饰的类,叫抽象类,用abstract修饰的方法叫抽象方法,抽象类中可以有方法的实现,也可继续抽象。但如果一个类中有抽象方法那么这个类必须是抽象类。抽象类不能被实列化,抽象方法只需声明,不需实现。
interface可以说是抽象方法和常量的定义集合。从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现。
1.多个无关的类可以实现同一个接口。
2.一个类可以实现多个无关的接口。
3.接口可以继承其他的接口,并添加新的属性和抽象方法。
4.与继承关系类似,接口可以实现类之间存在的多态。
5.接口中只能定义抽象方法,而且这些抽象方法默认为public。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1 赞一个!

查看全部评分

回复 使用道具 举报
我个人认为啊,不一定对:接口就是接口,抽象类就是抽象类,接口不是类,只是说它里面有抽象方法,这就相当于是,鲸鱼不是鱼,但是能在水里生活一样。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马