抽象类与接口

2018-06-18 03:37:25来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

抽象类与接口相同点:
1.都不能被实例化,它们都位于继承树的顶端,用于被其他类实现和继承.
2.都可以包含抽象方法,并且实现接口和继承抽象类的方法都必须实现这些抽象方法

抽象类与接口的区别:
1.变量
抽象类中既可以定义普通成员变量,也可以定义静态常量
接口中只能定义静态常量,不能定义普通成员变量.

接口中变量static:因为一个类可以实现多个接口,如果一个类同时实现了多个接口而每个接口中都定义了同一个变量的话就会产生在类中不知道是哪个接口
中的变量了,所以必须定义成static的,每个接口拥有各自的这个变量。
接口中变量final:因为一个接口可以被多个类实现,如果不定义成final的话每个实现了该接口的类都去改变这个变量就会产生错误,所以必须定义成final。
2.方法:
抽象类中既可以有抽象方法,也可以有非抽象方法,静态方法
接口中有抽象方法,default方法(在Java8中才开始有),静态方法(在Java8中才开始有)

3.构造器:
抽象类中可以有构造器,接口中不能有构造器

4.初始化块:
抽象类中可以有初始化块
接口中不能有初始化块

5.继承实现:
一个类最多只能继承一个抽象类,并且要实现其全部抽象方法
一个类可以实现多个接口,并且要实现其全部抽象方法

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:路径中 斜杠/和反斜杠\ 的区别

下一篇:04 整合IDEA+Maven+SSM框架的高并发的商品秒杀项目之高并发优化