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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© H马凯 中级黑马   /  2015-1-23 11:18  /  2396 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

抽象类和接口有什么区别么?    相比较而言那种更有利于程序的扩展   求大神指教啊

11 个回复

倒序浏览
本帖最后由 小棽 于 2015-1-23 11:29 编辑

首先,抽象类和接口的关键字不同,抽象类使用abstract修饰,接口使用interface修饰
第二,抽象类中可以有成员变量,但是接口中的变量都是final类型的
第三,抽象类中可以有成员方法,也可以有普通方法,抽象类的子类不一定要重写父类的抽象方法,而接口不一样,接口中的方法都是抽象方法,而且实现接口的子类必须重写接口中的所有方法。
最后就我个人看,接口的扩展性更强

评分

参与人数 1技术分 +1 收起 理由
lwj123 + 1

查看全部评分

回复 使用道具 举报
抽象类的出现其实就是为了让人去继承它,实现代码的复用性。而接口则是一种规范,让人去实现它,也必须遵守它的规则。
回复 使用道具 举报 1 0
小棽 发表于 2015-1-23 11:28
首先,抽象类和接口的关键字不同,抽象类使用abstract修饰,接口使用interface修饰
第二,抽象类中可以有成 ...

嗯    谢了
回复 使用道具 举报
谢了            
回复 使用道具 举报
分恩相啊   11111111111111
回复 使用道具 举报
刚学习到这,同学习了。。
回复 使用道具 举报
Mr.JUN 中级黑马 2015-1-23 12:44:56
8#
各有好处,看你的应用在哪方法面,我怎么感激你是刷分的;P
回复 使用道具 举报
一个实现一个继承,一个可以有非抽象方法,一个都是抽象方法
回复 使用道具 举报
同学习了
回复 使用道具 举报
抽象类和接口很类似,都是定义规则。抽象类不能被实例化,但是可以被继承,继承了抽象类,就必须实现他的抽象方法,抽象方法不能有方法体,抽象类中还可以写普通方法,接口也不能被实例化,可以被其他类继承,继承了接口必须实现接口类所有的方法,接口中的方法都没有方法体,默认不要加public声明,
回复 使用道具 举报
抽象类是模糊地描述一个对象,接口是描述对象的共同特征。(个人理解- -)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马