Java中子类重写父类的思想本质

Java语言中,在子类中定义与父类同返同名同参的方法将会出现“重写(覆写)”,子类将屏蔽父类的相同方法,调用子类的方法将不会调用到父类的该方法。

许多初学者也许会被“覆写”一词迷惑,以为覆盖掉了父类的方法,其实这两种方法是同时独立存在的,只是子父类调用该方法的入口不一样,彼此互不干扰。

/*
    需求:设计一个简单的java程序,证明子类重写父类方法的过程
    思路:    1、创建父类对象,通过父类对象调用该方法
            2、创建子类对象,通过父类对象调用该方法
            3、通过子类对象调用该方法
*/
class  RerridingTest
{
    public static void main(String[] args) 
    {
        Father f = new Father();
        f.show();
        Child c = new Child();
        f.show();//创建子类对象并没有“覆盖”掉父类自己的show()方法
        c.show();//子类调用同名方法时直接访问自己定义的方法,并没有访问父类的方法
    }
}

class Father
{
    void show(){
        System.out.println("father show run.");
    }
}

class Child extends Father
{
    void show(){
        System.out.println("child show run.");
    }
}

/*
    总结:重写过程是
            创建子类对象时,因为子类中已有定义该方法,故不从父类继承该方法;
            调用方法时,判断调用对象在内存中是何种类型,然后到相应类型的方法区中寻找该方法
*/

结果:

图片描述

总结: 
重写过程是创建子类对象时,因为子类中已有定义该方法,故不从父类继承该方法;调用方法时,判断调用对象在内存中是何种类型,然后到相应类型的方法区中寻找该方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值