关于java:javase总结多态

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

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理