码迷,mamicode.com
首页 > 其他好文 > 详细

接口和抽象类的区别

时间:2017-01-08 10:47:56      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:包含   mil   ;;   使用   public   覆写   mic   接口   实例   

相同点:

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

2. 都不能被实例化。

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

不同:

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

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

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

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

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

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

 

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

接口和抽象类的区别

标签:包含   mil   ;;   使用   public   覆写   mic   接口   实例   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!