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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© qingxi1 中级黑马   /  2014-8-10 10:08  /  1403 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我们在学校接口时,老师说:接口可以理解成抽象类,那他们有什么区别呢?

5 个回复

倒序浏览
抽象类里面可以有 抽象方法和一般方法,而接口里面只能有抽象方法,抽象方法需要被子类实现。
例如:public void show();     public void show(){}    前者为抽象方法 后者为一般方法
回复 使用道具 举报
黑马_java猿 发表于 2014-8-10 10:27
抽象类里面可以有 抽象方法和一般方法,而接口里面只能有抽象方法,抽象方法需要被子类实现。
例如:public ...

当子类没有实现所有的抽象方法时,子类也要定义为抽象类

点评

谢谢补充。。。。  发表于 2014-8-10 10:46
回复 使用道具 举报
1:抽象类只能被继承,而且只能单继承。
接口需要被实现,而且可以多实现。
2:抽象类中可以定义非抽象方法,子类可以直接继承使用。
接口中都有抽象方法,需要子类去实现。
3:抽象类使用的是  is a 关系。
接口使用的 like a 关系。
4:抽象类的成员修饰符可以自定义。
接口中的成员修饰符是固定的。全都是public的。
回复 使用道具 举报
抽象类和接口:
抽象类和接口都是不断抽象出来的。抽象类和接口都要通过非抽象子类来实例化
区别:
     一,定义抽象类用的关键字是:abstract,
           定义接口用的关键字是:interface。
     二,抽象类可有实例类成员,普通方法,构造方法,也可以有抽象方法。
           接口的类成员是公共的静态常量,和公共的抽象方法。没有构造函数。
     三,抽象类只能继承一个类,接口可以继承多个接口。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马