020、抽象类与接口

Par @Martin dans le
Tags :

1. 抽象类(abstract)

  • 没有方法体的方法 => 抽象方法

  • 有抽象方法的类为抽象类

  • 抽象类, 方法都要用 abstract 修饰

  • 抽象类不能实例化

  • 抽象类有构造函数

  • 抽象类我们不能实例化, 但 jvm 生成其子类对象时, 会实例化抽象类

2. 接口(interface)

接口中只有静态常量与抽象方法:

  • public static final [属性]
  • public abstract [方法]

接口可以多实现, 即一个类可以实现多个接口

接口可以继承接口, 并且可以继承多个接口

类可以在继承另一个类的同时实现多个接口

接口与类的区别:

接口
体现的是 hava a 体现的是 is a
对某个行为抽象 对某件事物抽象

注意接口的设计的目的是降低耦合, 并不是体现面向对象, 像 C++ 中没有接口的概念, 它一样是面向对象的语言, 类才是体现面向对象思想的东西.