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

接口和抽象类的区别

时间:2019-04-22 18:06:18      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:bmc   多个   维护成本   设计   添加   idc   的区别   gcj   iii   

  1. 接口的方法默认是public abstract,所有方法在接口中不能有实现,抽象类可以有非抽象的方法。(从 Java 8 开始,接口也可以拥有默认的方法实现,这是因为不支持默认方法的接口的维护成本太高了。在 Java 8 之前,如果一个接口想要添加新的方法,那么要修改所有实现了该接口的类。)
  2. 接口中的实例变量默认是private final static类型的,而抽象类中则不一定。
  3. 一个类可以实现多个接口,但最多只能继承一个抽象类。
  4. 一个类实现接口的话要实现接口的所有方法,而抽象类不一定。
  5. 接口中不能有构造函数,而抽象类中可以有构造函数。
  6. 从设计层面来说,抽象是对类的抽象,是一种模板设计,是IS-A的关系,而接口是行为的抽象,是一种行为的规范,是LIKE-A的关系。

接口和抽象类的区别

标签:bmc   多个   维护成本   设计   添加   idc   的区别   gcj   iii   

原文地址:https://www.cnblogs.com/lanjianblog/p/10751426.html

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