黑马程序员技术交流社区

标题: 抽象类与接口有什么区别。 [打印本页]

作者: 随便吧    时间: 2014-12-14 17:56
标题: 抽象类与接口有什么区别。
接口和抽象类都有什么不同,用法以及表现形式

作者: ppStudent    时间: 2014-12-14 18:09
抽象类是这样一种用了abstract修饰的类,它里面可以有抽象方法也可以没有,没有的时候仅仅代表这个类不能被继承,接口是一定全部是抽象方法的~
作者: zcyemenye    时间: 2014-12-14 19:36
1、抽象类可以有非抽象的方法,成员格式不固定,但是至少要有一个抽象函数;接口的成员格式是固定的,变量必须用 public static final修饰,函数必须用public abstract修饰;
2、抽象类要想实例化必须被子类继承extends,继承抽象类的子类不能再继承其他类,因为java中类与类之间是单继承关系;接口的实例化是被一个类实现 implements,该类可以同时实现多个接口。
3、抽象类可以实现多个接口;接口不能继承抽象类,接口与接口之间可以使多继承关系。
4、抽象类在使用中可以被作为一个模板;接口在使用中被作为一个功能加入类中。
补充一点:两者都是通过多态来进行实例化,在两者功能相当的情况下尽量选择接口因为java中类单继承的局限性。
作者: jamsjun    时间: 2014-12-14 23:23
接口中的方法都是抽象的,interface用于定义接口
作者: Android周    时间: 2014-12-14 23:25
① 在类来继承抽象类时,只需实现部分具体方法和全部抽象方法,而实现接口则要实现里面的全部方法。  ②在接口中无成员变量,而抽象类中可有成员变量。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2