接口与继承--隐藏

与重写类似,方法的重写是子类覆盖父类的对象方法
隐藏,就是子类覆盖父类的类方法
对象方法
调用必须要创建对象。
类方法
调用可以直接通过类名。

package yincang;

public class ADHero extends Hero implements AD {
    @Override
    public void physicAttack() {
        System.out.println("进行物理攻击");
    }
    //隐藏父类的battleWin方法
   public static void battleWin(){
       System.out.println("ad hero battle win");
   }

    public static void main(String[] args) {
        Hero.battleWin();
        ADHero.battleWin();
        Hero h=new ADHero();
        h.battleWin();
        
    }
}

在这里插入图片描述
当父类的引用指向一个子类对象时,执行的对象方法是子类的对象方法,而执行的类方法是父类的类方法。
当父类的引用指向一个子类对象时,执行的对象方法是子类的对象方法,而执行的类方法是父类的类方法。
静态方法不能被重写。
静态方法:java中,static修饰符修饰的方法就是静态方法,所谓静态就是指:在编译之后所分配的内存会一直存在(不会被回收),直到程序退出内存才会释放这个空间。父类的静态方法不能被重写。
因为静态方法从程序开始运行后就已经分配了内存,也就是说已经写死了。所有引用到该方法的对象(父类的对象也好子类的对象也好)所指向的都是同一块内存中的数据,也就是该静态方法。子类中如果定义了相同名称的静态方法,并不会重写,而应该是在内存中又分配了一块给子类的静态方法,没有重写这一说。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值