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单继承的局限性来的