首页 > 其他 > 详细

接口和抽象类的区别

时间:2017-01-08 10:46:20      阅读:187      评论:0      收藏:0      [点我收藏+]

相同点:

1. 都位于继承的顶端,用于被其他实现或继承。

2. 都不能被实例化。

3. 都可以定义抽象方法,其子类/实现类都必须覆写这些抽象方法。

不同:

1. 接口没有构造方法,抽象类有构造方法。

2. 抽象类可包含普通方法和抽象方法,接口只能包含抽象方法(java8之前)。

3. 一个类只能继承一个直接父类(可能是抽象类),接口是多继承的并且只支持一个类实现多个接口。

4. 变量:接口里默认是pubic static final,抽象类是默认包权限。

5. 方法:接口里默认是public abstract,抽象类默认是默认包访问权限。

6. 内部类:接口里默认是public static,抽象类默认是默认包访问权限。

 

如果接口和实现类都可以完成的功能,尽量使用接口,面向接口编程。

接口和抽象类的区别

原文:http://www.cnblogs.com/wenxudong/p/6261565.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!