9.1 abstract 概述
类中有相似方法,但是又有不同,此方法应定义为抽象方法,类也必须为抽象类。
特点:
1)方法只有声明没有实现
2)抽象类不可以被实例化
3)抽象类的子类必须覆盖其所有抽象方法才能被实例化
9.2 抽象类细节
1)有构造函数,用于其子类实例化
2)抽象类可以不包含抽象方法,目的是不让该类被实例化 (eg:AWT Adapter)
3)不能与abstract共同使用的关键字:private、static、final
4)抽象类一定是父类
9.3 接口 Interface
成员
全局常量:public static final
抽象方法:public abstract
9.4 使用方法 implements
不可以被实例化,实现了接口的类必须覆盖其所有抽象方法才能被实例化。
9.5 接口与多继承
多实现,子类实现接口时必须覆盖所有方法,解决了多继承的不确定性
9.6 extends + implements
一个类在继承的同时可以实现多个接口。
接口之间可以多继承。
9.7 interface VS. abstract
接口和抽象都是向上抽取而来
abstract被继承,interface被实现
abstract类中有非抽象方法,interface中全是抽象方法