Java继承-子类是否能继承父类中私有属性和私有方法

问题  

        今天复习java的时候看笔记:子类可以继承父类中左右属性,不管私有公有,但是只能继承非私有的方法,然后搜索引擎一搜发现网上说的是私有的方法也是能继承的,理由大多是:父类写一个公有的方法,然后公有方法去调用那个私有的方法,子类再去调用这个父类的公有方法,发现是可以正常执行的。这跟我的笔记矛盾了,于是我想了一个方法来验证。

重写

         首先我们了解一下重写,子类可以重写和父类中名称相同的方法来覆盖父类中的方法,重写的规则:

方法

        首先我们来验证一下第三条规则的反例

        首先写一个父类

//父类
public class father {
    //注意这里的返回值类型是void
    public void test(){
        System.out.println("父类中的test");
    }
}

        再写一个子类

public class son extends father{

    //这里的返回值类型是String,是大于子类中的方法的
    public String test(){
        System.out.println("子类中的test");
        return "test";
    }


    //可执行测试方法
    public static void main(String[] args) {
        son test2 = new son();
        test2.test();
    }
}

        理论上,子类方法返回值类型要小于等于父类,所以这里报错了

        

        重点来了,此时,我们将父类中方法的权限修饰符改成private,发现报错消失了,并且方法可以执行成功,这说明子类并没有继承并且重写父类中的私有方法,而是创建了一个属于自己的方法

        

最后

        以上只是我想到的一个来验证的方法,可能会有漏洞,欢迎提出。

  • 18
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值