java 基础 私有变量不可以继承吗?
来源:互联网 发布:数据挖掘与r语言 代码 编辑:程序博客网 时间:2024/05/17 05:03
- public class YuanXingMode {
- /**
- */
- public static void main(String[] args) {
- <span style="color:#ff0000;">ConcretePrototype pro = new ConcretePrototype("qq");
- </span> }
- }
- class Prototype implements Cloneable {
- private String name;
- public void setName(String name) {
- this.name = name;
- }
- public String getName() {
- return this.name;
- }
- @Override
- protected Object clone() {
- try {
- return super.clone();
- } catch (CloneNotSupportedException e) {
- return null;
- }
- }
- }
- class ConcretePrototype extends Prototype {
- public ConcretePrototype(String name) {
- setName(name);
- }
- }
我在红色行上面打了断点,当Debug的时候,发现内存中有name变量的存在,我纳罕?
纳罕之处:私有变量不是不可以继承吗?我以前的理解是私有变量只是在父类中存在,在创建子类对象的时候,子类对象是 不拥有这个变量的,现在看来是错误的。
上网搜了一下结果,有一个帖子说的情况和我这个类似,解释的我觉得也到位:子类拥对父类的私有变量具有拥有权 但是不具有使用权。
再和以前学的东西联系起来,总结如下:
1、不管父类中的成员变量是静态的还是非静态的,子类统统拥有(这里不用继承概念)。
2、不管父类中的成员变量是被子类隐藏了还是没有被子类隐藏,子类统统拥有
3、不管父类中的成员变量是私有的还是其他,子类统统拥有,但是私有的不能被子类直接访问,只能通过从父类中继承的set和get方法来访问。就像上面那句话说的那样,对父类的私有变量具有拥有权,但是不具有使用权,只能通过从父类中继承的set和get方法来使用。
2 0
- java 基础 私有变量不可以继承吗?
- 私有变量不可以继承吗?
- 理解 Java 构造函数不可以继承
- java 接口之多继承,类为什么不可以多继承
- 在继承中,父类的私有也会被继承,但是子类不可以直接访问,但是可以间接的访问
- Java:子类能够继承父类的私有变量和私有方法?
- c++中const变量真的不可以修改吗?
- c++中const变量真的不可以修改吗?
- c++中const变量真的不可以修改吗?
- c++中const变量真的不可以修改吗?
- iOS的常见问题---Object-C有私有方法吗?私有变量呢?多重继承?
- 计算机基础--线程私有变量
- 一个不可以被继承的类
- js为什么不可以相互继承?
- final 不可以继承/覆盖关键字
- Objective-C私有变量继承问题
- Java 构造函数不可以继承,因此不能被重写,但可以被重载
- java 静态内部类不可以继承非静态内部类理解
- spring中强大的bean操作类BeanWrapper
- jquery Syntax error, unrecognized expression:的解决方法
- Linux文件系统损坏后的修复技巧详细介绍
- kali linux安装VM TOOLS
- All the Windows 10 Technical Preview Editions ISO Direct Download Links !
- java 基础 私有变量不可以继承吗?
- 终极会话劫持工具SSClone
- mfc 学习笔记lesson 1 消息消息队列
- xml 的基本格式 及 注意事项
- Json解析后添加到ListView控件上
- Oracle RAC 环境下的连接管理
- java文件读写(输入输出流)
- 一些网站搜索引擎优化的常识
- ehcache memcache redis 三大缓存男高音