父类的私有属性到底可不可以继承?

父类的私有属性到底可不可以继承?

对于父类当中的私有属性和方法,子类到底可不可以继承,网上众说纷纭,Ok!talking is cheap ,show you code.

第一种说法:不可以被继承

看代码
在这里插入图片描述
然后去子类中继承该父类

在这里插入图片描述
显然,这在语法上就报了错,连编译都过不了,所以从这里看,是不可以被继承的。


第二种说法:可以被继承

在这里插入图片描述
关上门的同时,我们给它开上一扇窗,做一个public的方法访问父类私有属性

在这里插入图片描述

运行结果
在这里插入图片描述
这种通过继承父类方法,可以访问到父类中的私有属性,因此有人说,是可以继承的

那到底可不可以继承,我们还是看编译怎么说,才算数

我们将Son的对象对应的实例数据段打印出来看看

在这里插入图片描述

在这里插入图片描述

前面两行是对象头,暂时不用管,主要看红色两行,就是我门要找的在对象创建过程中实例的数据,我们发现,在Son的对象中,实例的数据中有从Father继承过来的私有属性a,那这说明了什么。

在这里插入图片描述

说明父类中的私有属性其实在子类中是可以继承的,因为在子类的对象中,实例数据也加载了父类中的私有属性,只是我们不能访问而已。

  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值