抽象类与接口

来源:互联网 发布:东华金云网络股份公司 编辑:程序博客网 时间:2024/06/06 05:23

抽象类与接口概括

抽象类

什么是抽象类?

  • 在自下而上的继承层次结构中上移,位于上层的类更具有通用性,甚至更加具有抽象。人们只将他们作为派生其他类的基类,而不作为想使用的特定的实例类。 抽取父类超类的一些属性定义通用的属性,这就是抽象类

抽象类的几点解释

  • 有抽象方法的类一定是抽象类
  • 类即使不含抽象方法,也可以将类声明为抽象类
  • 抽象类不能实例化
  • 子类定义父类的全部抽象方法,则子类可以为非抽象类

抽象类举例

  • employee 和 student 继承自person,而员工和学生都有姓名(name),描述(desc),可以放在继承层次较高的通用超类(person);

接口

什么是接口?

  • 接口不是类,而是对类的一组需求描述,这些类要遵从接口描述的统一格式进行定义。

接口的几个要点

  • 接口里面定义的方法都是public
  • 接口里不能包含实例域或静态方法,也不能在接口中实现方法,但是可以包含常量(a public static final constant )
  • 概念上可以将接口看成没有实例域的抽象类
  • 可以用instanceof 判断某个对象是否实现了某个特定接口

抽象类与接口

为什么java有抽象类,还需要引入接口的概念?

  • 因为java 不支持多继承,多继承会让程序变的复杂,效率降低。接口的实现可以提供多继承的大多数好处,避免复杂性。
1 0
原创粉丝点击