java子类能继承父类的全部属性,包括私有

学习java的继承时,肯定都会遇到一个问题,父类的私有成员变量子类能继承吗,父类的成员变量,子类是怎么继承的?

我们知道,java在进行类的实例化时,会优先实例化父类,,直到当前类没有父类。
那么我们使用一小段代码测试一下。

public class Test extends TestFather{
    public static void main(String[] args) throws Exception {
        Test test = new Test();
        System.out.println(test.bear);
        test.change();
        System.out.println(test.bear);
    }
    public void change(){
        super.bear = "333";
    }
}
class TestFather {
    private String apple="apple";
    public String bear="beer";
}

这段代码输出的结果是
在这里插入图片描述
我们改变了父类的成员变量,访问子类的这个属性时,发现也变了,这已经可以说明,子类继承父类其实是拥有了父类这个对象,使用VN图或许就能直观的显示了。
在这里插入图片描述
是不是感觉一目了然,子类其实是能拥有父类的一切东西的,只是私有变量无法访问的到而已,我们操作子类继承来的属性时,其实都是在操作父类的属性。
因此,别再说子类只能继承非私有属性和方法了,他拥有的是一个完整的父类啊

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值