抽象类是普通类和接口之间的一种中庸之道,因为你不可能总是使用纯接口。
包含抽象方法的类叫做抽象类。如果一个类包含一个或者多个抽象方法,这个类就是抽象类
接口的所有成员自动的被设置为 public
抽象方法的声明: abstract void f();
有时间我们为了不让一个类产生对象,而将其声明为抽象类。
interface 关键字使得抽象的概念更近了一步,
抽象类和接口的区别:
- 实现某个抽象类使用的关键字是 extends , 实现某个接口用的关键字是 implements
- 声明一个接口是用的关键字是 interface , 声明一个抽象类使用的关键字是 abstract
- 抽象类中可以有具体的方法,但是接口中不允许
- 接口中所有的属性都是 static final 类型的,方法是 public 类型的,接口方法的声明是:(void/int等) name();
接口是一种更加纯粹的抽象,因为它没有任何实际的实现。
当一个类既有 继承 又有 实现某个接口 的的时候,正确的顺序是:
class A extends B implements C,D {};
- 使用接口的原因是:为了能够向上转型为多个基类型。
- -