美文网首页
接口与抽象类的区别

接口与抽象类的区别

作者: 柳蒿 | 来源:发表于2019-10-17 10:11 被阅读0次

接口:

  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凭借这一新特性实现了多继承

相关文章

网友评论

      本文标题:接口与抽象类的区别

      本文链接:https://www.haomeiwen.com/subject/nhqxmctx.html