一、隐藏 VS 覆盖
什么是隐藏?
// 隐藏-重新父类-类方法
// 重写/覆盖-重写父类-对象方法
重写/覆盖又是什么?见下方链接。
https://blog.csdn.net/weixin_41117393/article/details/103726429
package ia5_hide;
public class Hero {
public String name; // 英雄名称
protected float hp; // 血量
// 类方法,static修饰
public static void battleWin() {
System.out.println("hero battle win");
}
}
package ia5_hide;
public class ADHero extends Hero implements AD{
@Override
public void phsyicAttack() {
// TODO Auto-generated method stub
System.err.println("进行物理攻击");
}
// 隐藏-重新父类-类方法
// 重写/覆盖-重写父类-对象方法
public static void battleWin() {
System.err.println("ad battle win");
}
public static void main(String[] args) {
Hero.battleWin();
ADHero.battleWin();
}
}
运行结果:
二、练一练
这个会输出什么?hero battle win or ad battle win
Hero h = new ADHero();
h.battleWin();
h = null;
h.battleWin();
是什么类型就跟什么走。就算变成空也没所谓。
我的学习源泉:https://how2j.cn/k/interface-inheritance/interface-inheritance-hide/310.html?p=114999
Java自学网站:https://how2j.cn?p=114999