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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 随便吧 中级黑马   /  2014-12-14 17:56  /  1254 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

接口和抽象类都有什么不同,用法以及表现形式

4 个回复

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