您好、欢迎来到现金彩票网!
当前位置:热购彩票app下载 > 公有成员 >

java中为什么子类仍然可以通过继承公共方法访问父类的私有变量?

发布时间:2019-08-29 03:14 来源:未知 编辑:admin

  子类B继承A后 (public class B extends A),自己不存在x这个成员变量,但是外界却可以通过调用B.setX()和B.getX()访问到A的x变量。请问这样一来在运行时B这个实例b是否存在x这个变量,即实际上内存中只存在一个实例b,b有一个不可见的变量x?还是说内存中同时存在不可见的一个父类A的实例a和可见的子类B的实例b,然后调用b.setX()的时候会修改a.x的值?

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  那是因为父类中的私有变量在父类中被方法调用了,当子类执行的时候回默认执行父类中的构造方法,所以是可以的,举例:

  这个一定是就有父类的实例了 因为继承里已经说明 子类执行构造方法之前 一定会默认先执行父类的构造方法 !!

  很重要的一个知识点 子类的实现必须先调用默认的 父类的构造器(父类空参构造方法) 你可以做个小实验 做一个父类 如果它没有构造器 则继承它的 子类在加载 的时候 就会出现编译错误。

  B继承了A,B就拥有了A的所有属性和方法,也就是B有x这个属性,也有getX()和setX()方法,自然可以处理x.就像师傅把所有的知识和能力都给了徒弟,徒弟就可以做和师傅一样的工作.

http://e-ndicus.com/gongyouchengyuan/1202.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有