1.类与类的关系
继承关系,只支持单继承
1)子类不能使用父类的私有资源
2)构造方法不能继承
3)子类如果想更改父类的功能,可以重写(两同两小一大)
2.类与接口的关系
实现关系,既可以单实现,也可以多实现
1)实现类去实现接口必须实现接口中的所有抽象方法,如果有任何一个没有实现,就得声明成抽象子类
2)创建实现类对象时,一般使用实现类对象,而不是多态对象,因为效果一样
3.接口与接口的关系
继承关系,既可以单继承,也可以多继承
注意:接口实现类需要实现继承自父借口的所有抽象方法
4.抽象类与接口的区别
1)抽象类是一个特殊的类,使用class定义,特殊在这个类中可以定义没有方法体的方法(抽象方法)
2)接口可以理解成一个特殊的抽象类,特殊在接口中所有的方法都是抽象方法,但注意接口不是类,用interface定义
3)抽象类中有构造方法,为了给子类创建对象时调用
4)接口中没有构造方法的,子类调用的是父类的构造方法
5)接口可以多继承,但抽象类只能单继承
6)抽象类可以定义普通的成员变量,但接口只能调用静态常量
7)接口与抽象类均不可以实例化/创建对象
8)抽象是后天重构的结果,接口是先天设计的结果