Java学习:多态

多态

多态:同一个对象,在不同时刻表现出来的不同状态

举例:
  A:猫
  猫是猫
  猫是动物
  B:水
  水(液态)
  冰(固态)
  水蒸气(气态)

多态的前提:
  A:有继承关系
  B:有方法重写(不是必要条件,但是只有有了方法重写多态才有意义)
  C:有父类引用指向子类对象

  Fu f = new Fu();

  左边:Fu类型的引用
  右边:Fu类型的对象

  Zi z = new Zi();

  Fu f = new Zi();

成员访问特点
  A:成员变量
    编译看左边,运行看左边
  B:构造方法
    子类构造默认访问父类的无参构造
  C:成员方法(重点理解)
    编译看左边,运行看右边

    为什么变量和方法不一样呢?
          方法重写。
  D:静态成员方法
    编译看左边,运行看左边
    因为静态的内容是和类相关的,与对象无关。

原文地址:https://www.cnblogs.com/shaofanglazi/p/6705182.html