您的位置:首页 > 编程语言 > Java开发

Java的private成员变量的继承问题

2019-05-29 15:44 92 查看

原文链接:https://www.cnblogs.com/yulianggo/p/10417229.html

java板块关于private变量到底会不会被继承,一直都有争议。

  传送门

 

另一种说法是非继承关系,但是不能够解释为什么。

分析内存的分配后发现:

当一个子类被实例化的时候,默认会先调用父类的构造方法对父类进行初始化,即在内存中创建一个父类对象,然后再父类对象的外部放上子类独有的属性,两者合起来成为一个子类的对象。

 

 

虽然说子类对象内存空间包含这个private变量,但是子类不能自己编写函数对这个private变量进行直接修改,访问。只能通过继承下来的public函数对private变量进行修改,访问。

关于这些争议,最佳的解决办法是明白如何定义继承。。。

对于持非继承观点的人来说,继承下载的变量或方法必须得能够直接使用,即直接修改或访问。这是符合传统的继承概念。

对于持继承观点的人来说,因为子类内存中有private变量,即子类拥有private变量,它就应该是继承的。

 

对于这两种想法,都有一定道理,但是书上定义偏向于第一种,因此个人接受第一种的思想

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: