1, 类和类间的关系: 是继承关系 extends(继承是强耦合)
只能是单继承
class A extends B
其中 A 是子类,B 是父类
A 类领有 B 类的所有性能 (除了公有的和构造方法)
当 A 类继承了 B 类的所有性能, 想改, 会产生办法重写景象
重写要求: 子类的办法申明和父类一样, 而且, 要有足够的重写权限
重写的目标: 是在不扭转原有性能的前提下, 批改业务,
改的是子类, 对于父类原来的性能没有任何影响
当在子类中, 想用用父类的性能时, 通过 super 来调用
2, 接口和接口间的关系: 是继承关系 extends
能够单继承, 也能够多继承
interface A extends B -- 单继承
其中,A 是子接口,B 是父接口
A 接口能够 应用 B 接口的所有性能
interface C extends D , E -- 多继承
其中,C 是子接口 , D 和 E 是父接口
C 接口能够 应用 D 和 E 接口的所有性能
3, 类和接口间的关系: 是实现关系 implements
不仅能够单实现, 还能够多实现, 还能够继承的同时再多实现
class A implements B
其中,A 是实现类,B 是接口
A 能够应用接口里的所有性能, 然而, 须要重写形象办法, 否则就是一个抽象类
class C implements D,E
其中,C 是实现类,D 和 E 是接口
要求 C 须要, 同时重写 D 和 E 里的所有 形象办法, 否则还是一个形象的实现类
class X extends Y implements M,N,O
其中,X 是子类 / 实现类 ,Y 是父类,M N O 是接口
要求 X, 同时重写 所有 形象办法, 否则还是一个形象的实现类
4, 抽象类和接口的区别
-- 相同点
都能够呈现形象办法
都不能被实例化
都须要子类重写形象办法
接口 和 抽象类 体现了继承构造里的 形象层
问题: 形象层的体现能够是接口? 也能够是抽象类?-- 到底设计成谁?
答案: 看需不需要提供办法体,
如果都是形象办法, 那就间接设计成接口, 还能够多继承多实现更灵便
如果有一般办法, 那就还是设计成抽象类吧, 害处是只能单继承
-- 不同点
抽象类里有构造方法, 用来给子类创建对象. 接口里没有构造方法.
抽象类里有变量, 然而接口里, 只有常量, 会为简写的常量主动拼接
public static final
抽象类里有一般办法, 然而接口里, 都是形象办法 (除了 jdk1.8)
接口里的形象能够简写, 会为简写的形象办法主动拼接 public abstract
抽象类只能是和子类之间产生单根继承关系
接口和实现类之间是实现 关系, 而且能够 多实现
接口和接口 之间是继承 关系, 而且能够 多继承
接口 是为了冲破 java 单继承的局限性来的