重写和隐藏的本质区别是:重写是动态绑定的,根据运行时引用所指向对象的实际类型来决定调用相关类的成员。而隐藏是静态绑定的,根据编译时引用的静态类型来决定调用的相关成员。换句话说,如果子类重写了父类的方法,当父类的引用指向子类对象时,通过父类的引用调用的是子类方法。如果子类隐藏了父类的方法(成员变量),通过父类的引用调用的仍是父类的方法(成员变量)。

首先,创建一个Animal作为父类

重写和隐藏的本质,通过demo测试说明

再创建一个Dog类继承Animal,且重写父类的move方法

重写和隐藏的本质,通过demo测试说明

测试1 不屏蔽子类Dog的move方法

重写和隐藏的本质,通过demo测试说明

测试2 屏蔽子类Dog的move方法

重写和隐藏的本质,通过demo测试说明

相关文章:

  • 2022-12-23
  • 2021-04-17
  • 2022-02-02
  • 2022-12-23
  • 2022-12-23
  • 2022-02-16
  • 2021-09-08
  • 2021-08-02
猜你喜欢
  • 2021-12-17
  • 2021-07-18
  • 2022-12-23
  • 2021-10-14
  • 2022-12-23
  • 2021-06-26
  • 2022-12-23
相关资源
相似解决方案