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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李伟松 中级黑马   /  2015-3-20 10:09  /  1083 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

抽象类和接口有什么区别?

3 个回复

倒序浏览
抽象类里面可以有非抽象的方法,接口里只能有抽象方法(也就是说接口是抽象类的变体)。
回复 使用道具 举报
1、抽象类是类,它的子类不能再继承其它类了,但可以实现一个和多个接口。接口不是类,它的子接口可以继承多个接口。
2、抽象类中是可以有不用abstract修饰的方法,而接口中只能有抽象方法,即方法都要用abstract修饰。
3、抽象类可以实现接口,而接口是不能继承或实现抽象类的。

有人说,接口类似于抽象类,这是指它提供的方法只有方法头,而抽象类也有这样的情况。
但实际上,区别是很大的,接口提供了一种JAVA中类不能多继承时引起的不便的一种解决方案,提高了灵活性。同时,接口更有利于实现程序的扩展。

理解它们,最好去看一下JAVA 图形界面编程中的关于事件处理时的事件监听器与适配器相关内容

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1

查看全部评分

回复 使用道具 举报
抽象类中不能new对象,它的抽象方法是通过其子类继承后复写来实现的.而接口是程序的一个外部扩展功能,可被类多实现.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马