首页 > 编程语言 > 详细

Java 接口和抽象类的区别

时间:2019-03-09 15:22:01      阅读:150      评论:0      收藏:0      [点我收藏+]

抽象类

  • 抽象类不能被实例化
  • 抽象方法必须由子类重写
  • 子类中的抽象方法不能与父类的抽象方法同名。
  • abstract不能与final并列修饰同一个类
  • abstract 不能与private、static、final或native并列修饰同一个方法。

接口

接口是用来建立类与类之间的协议,它所提供的只是一种形式,而没有具体的实现

  • Interface所有方法自动生命为public,当然你可以显示的声明为protected、private,编译会出错!
  • 接口中德成员变量会自动变为为public static final。可以通过类命名直接访问:ImplementClass.name。
  • 实现接口的非抽象类必须要实现该接口的所有方法。抽象类可以不用实现。

抽象类和接口的区别

    • 语法层次
    • 设计层次 
      • 抽象层次不同。抽象类是对类进行抽象,接口是对行为的抽象。
      • 跨域不同。抽象类所跨域的是具有相似特点的类,而接口却可以跨域不同的类。我们知道抽象类是从子类中发现公共部分,然后泛化成抽象类,子类继承该父类即可,但是接口不同。实现它的子类可以不存在任何关系,共同之处。is-a和like-a
      • 设计层次不同。抽象类是自底向上抽象而来的,接口是自顶向下设计出来的。

Java 接口和抽象类的区别

原文:https://www.cnblogs.com/linwenbin/p/10500681.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!