抽象类
包含抽象方法的类一定是抽象类,抽象类中不一定包含抽象方法,也可以包含普通的成员变量。
父类是抽象类,子类可以是抽象类也可以不是抽象类,如果子类不是抽象类,要重写父类中的抽象方法。
Abstract可以放在类,方法(不包括构造方法)前面,不能放在成员变量前面,也不能放在终止类(final)和static前面
抽象类可以写构造方法,抽象类可以继承不可以被实例化。
接口
1. 接口解决了Java中的单继承问题
2. 接口中只能定义常量(省略了public,static和final)和抽象方法(省略了public和abstract),不能包含普通的成员变量,不能包含普通方法,也不能包含构造方法
3. 接口中的抽象方法和全局静态常量可以省略一个。
4. 接口与类是实现的关系(implements),接口与接口是继承的关系(extends)。
接口与抽象类