接口与抽象类的区别

接口:

  1. 接口中的变量和方法默认都是public的,且只能是public
  2. 接口中的变量默认是static final的
  3. 接口中的方法默认是abstract的

抽象类

1.抽象类中的变量和方法默认是包访问的

接口和抽象类的区别

  1. 接口中的方法不能有实现,static,default方法可以有方法体。抽象类的抽象方法不能有实现,但普通方法可以有实现
  2. 接口可以多实现,抽象类只能单继承
  3. 普通类实现接口需要实现全部的方法,而抽象类实现接口则可以不实现任何方法。
  4. 普通类继承一个抽象类,需要实现所有的抽象方法,抽象类继承抽象类也是可以不实现任何方法。
  5. 接口是对行为的抽象,是一种行为的规范。抽象类是对类的抽象,是设计的模板。
  6. 接口中的变量默认是public static final的,方法默认是public abstract的。抽象类中默认都是包访问的

接口中的static方法,default方法

  • static方法可以有实现,不能被继承。调用方法和类的静态方法相同
  • default方法可以有实现,能被继承。这是Java8中新添加的特性,Java凭借这一新特性实现了多继承
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容