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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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

3 个回复

倒序浏览
接口是一个特殊的抽象类,内部只能有抽象方法和final修饰的常量;
接口与类之间是实现关系,可以多实现,抽象类与类是继承关系,只能单继承;
接口没有构造函数,抽象类有构造函数;
所有子类都必须要做的操作定义在抽象类中,部分子类必须要做的操作定义在接口中。
回复 使用道具 举报
我简单总结下----抽象类和接口的特点总结如下:
1. 级别:抽象类的成员具有访问的级别,而接口的成员全部为public级别

2. 包含成员:抽象类可以包含成员变量或成员方法,而接口不可以

3. 继承:抽象类可以继承接口,而接口不能继承抽象类

4. 实现:抽象类的成员可以具有具体实现,而接口没有
    抽象的子类可以选择性实现抽象方法,而接口子类必须全部实现

希望能有助到你。。。。


评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

回复 使用道具 举报 1 0
可以说,接口是一个特殊的抽象类。
定义:接口使用interface,抽象类使用abstract class
内容:接口里面的方法必须全都是抽象的;抽象类里面可以有非抽象的方法,也可以没有抽象方法。
子类:子类实现接口(implments),子类继承抽象类(extends);子类可以实现多个接口,但是只能继承一个抽象类。
什么时候使用接口,什么时候使用抽象类,这要视情况而定。比如有某个方法,子类中的实现都是相同的,那么这个方法就可以在抽象类中实现了,子类直接调用,不用再去实现一次。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马