java继承的私有属性能不能继承给子类

行走的老熊 2016-04-24 12:05:09

在百度上查,有的说子类继承到了父类的私有变量,只是不能访问直接访问,只能通过get/set方法区访问。

第二种说法是父类的私有属性子类不能继承,父类的私有属性是父类私有的。

请问各位前辈,到底哪种说法是正确的?(刚注册的号,发帖格式什么之类的问题不懂,包涵,谢过...)
...全文
4824 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
这个有点难 2017-10-17
  • 打赏
  • 举报
回复
看Oracle的官方文档 http://docs.oracle.com/javase/tutorial/java/IandI/subclasses.html A subclass does not inherit the private members of its parent class. However, if the superclass has public or protected methods for accessing its private fields, these can also be used by the subclass. 说的很明白,子类不能继承父类的私有成员,但可以通过父类的public或protected方法访问。
gx1230123 2017-05-29
  • 打赏
  • 举报
回复
按楼上的意思是不是只有直接访问才算继承,萌新求教
zc_chen 2017-05-15
  • 打赏
  • 举报
回复
画了一个表格,你自己看他们之间的关系。
yqj2065 2017-05-14
  • 打赏
  • 举报
回复
两种说法都可以,不存在对错。
Ckuangf 2017-05-08
  • 打赏
  • 举报
回复
身为一个类的子类,基本上父类有的子类都有(包括私有的)只是虽然被继承过来了但是能不能用就是另外一回事了
瞎闹腾 2017-05-08
  • 打赏
  • 举报
回复
A:子类只能继承父类所有非私有的成员(成员方法和成员变量); B:子类不能继承父类的构造方法,但是可以通过super关键字访问父类的构造方法;
110成成 2017-05-06
  • 打赏
  • 举报
回复
有点钻牛角尖 抠字眼
古琴台何 2017-05-06
  • 打赏
  • 举报
回复
子类是不能继承父类的私有成员变量的
火灵 2017-04-27
  • 打赏
  • 举报
回复
大家都是根据自己的经验来或主观判断来回答的,正确答案是不能继承。其实这在Java语言规范(JLS)中已清晰的说明了,:
Members of a class that are declared private are not inherited by subclasses of that class. Only members of a class that are declared protected or public are inherited by subclasses declared in a package other than the one in which the class is declared.(https://docs.oracle.com/javase/specs/jls/se8/html/jls-8.html#jls-8.2)

我觉得问题所在有2点,1是大家对Java"继承(inherit)"的理解不够准确,能通过反射等方法访问到,不等同于就是继承了。
2是区别C++,C++中子类继承父类,子类对象包含了整个父类对象。
MikeDDT009 2017-04-27
  • 打赏
  • 举报
回复
能够继承,只是不能直接访问。 你可以自己建个父类,然后有个私有属性,让一个子类继承它。然后再在main方法里面建立子类的对象,并且使用那个属性。只是你不能直接用.(点)属性来直接用,而必须使用方法来间接调用。 相当于你继承下来以后,那个属性也是私有的。
qq_37185343 2017-04-27
  • 打赏
  • 举报
回复
private是私有的,继承不了的。
小灰狼 2016-04-28
  • 打赏
  • 举报
回复
引用 9 楼 chaser401 的回复:
private的不能被子类继承
乱讲,能继承,但不能直接访问 用反射的话,私有属性和方法都是可以访问的
chaser401 2016-04-28
  • 打赏
  • 举报
回复
private的不能被子类继承
小灰狼 2016-04-28
  • 打赏
  • 举报
回复
第一种说法严谨,并且正确 第二种说法明显是错误的,这个说法的意思就是,子类对象创建后,父类里的私有成员变量就不存在了 子类继承了父类的属性,这一点是肯定的,只是子类不能直接访问罢了(注意是“直接”访问,所以我说第一种说法严谨) 当创建子类对象时,子类构造函数会默认调用一个父类的构造函数,父类的各个属性会被初始化 子类可以通过父类提供的 getter/setter 访问父类属性,否则无法修改或得到父类的私有属性值 如果父类提供了方法去间接修改或读取父类的私有属性,这其实也算是在访问,比如一个计数器: class Counter { private int value = 0; public void print(){ // 打印私有成员变量 System.out.println("value = " + value); } public void add(){ // 修改私有成员变量 value++; } } class MyCounter extends Counter { public void f(){ super.add(); // 间接访问父类的私有成员变量 } } 另外,子类还可以通过反射直接访问父类的属性,这就不多说了
imfang 2016-04-25
  • 打赏
  • 举报
回复
引用 楼主 Javaer_dog 的回复:
在百度上查,有的说子类继承到了父类的私有变量,只是不能访问直接访问,只能通过get/set方法区访问。 第二种说法是父类的私有属性子类不能继承,父类的私有属性是父类私有的。 请问各位前辈,到底哪种说法是正确的?(刚注册的号,发帖格式什么之类的问题不懂,包涵,谢过...)
我支持第一种说法。
qq_27301375 2016-04-24
  • 打赏
  • 举报
回复
定义为private 只能本类去访问包括他的内部类。子类不能继承父类的私有成员,如果子类想取得父类私有成员的值可以通过get/set封住好的方法获取。 所有第二种正确
持衡拥璇 2016-04-24
  • 打赏
  • 举报
回复
当然第二种是正确的说法
nwpucyp 2016-04-24
  • 打赏
  • 举报
回复
private只能在本类中使用。 protected可以由子类使用或者是同一包下其他类使用。 有时候一种常见的做法是将实例域的访问权限设为private,但是将与该实例域相关的get/set方法设为public,用这样的方式保证实例域不会被直接读写。还有一种情况是将get方法设为public,set方法设为private,那么对其他类来说,这个实例域就是只读的了。
行走的老熊 2016-04-24
  • 打赏
  • 举报
回复
引用 2 楼 qq_27184497 的回复:
protected的可以被子类继承, private的不行,只能在本类中使用
多谢你的帮助
行走的老熊 2016-04-24
  • 打赏
  • 举报
回复
引用 1 楼 qq_27301375 的回复:
定义为private 只能本类去访问包括他的内部类。子类不能继承父类的私有成员,如果子类想取得父类私有成员的值可以通过get/set封住好的方法获取。 所有第二种正确
谢谢你......
加载更多回复(1)
内容概要:本文系统研究了基于CNN-SVM的卷积神经网络与支持向量机融合的数据分类预测方法,聚焦其在工业故障识别中的应用,提供了完整的Matlab代码实现。通过CNN提取输入数据的深层空间特征,再由SVM进行高精度分类,充分发挥两者优势,有效提升了故障识别的准确性、鲁棒性与泛化能力。该方法特别适用于处理电力系统、机械设备等领域的高维、非线性、强噪声监测数据,在变压器故障诊断、轴承缺陷识别等场景中具有重要应用价值。文档还整合了机器学习、深度学习、图像处理、路径规划、电力系统优化等多个前沿科研方向的技术资源,配套大量Matlab/Simulink仿真案例与Python代码,全面支持科研复现与工程实践。; 适合人群:具备一定编程基础,熟练掌握Matlab或Python语言,从事电气工程、自动化、人工智能、机械故障诊断等相关领域研究的研发人员及高校研究生; 使用场景及目标:① 实现工业设备的状态监测与多类别故障分类;② 深入理解CNN与SVM融合模型的设计原理与工程实现细节;③ 借助所提供的丰富算法案例开展科研复现、模型优化与系统仿真验证; 阅读建议:建议按照文档目录结构系统化学习,结合百度网盘提供的完整代码资源进行动手实践,重点关注CNN特征提取层与SVM分类器之间的数据接口设计与参数调优策略,同时可延伸学习文中涉及的其他智能算法及其在电力系统、信号处理等领域的交叉应用,全面提升科研创新能力。

62,622

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧