大家帮忙看一个继承的问题

hellokitty1908 2010-08-19 05:50:39
看了马士兵的视频讲座,说:父类的私有成员也会被继承,即使是private,但不能去访问。对私有成员有所有权,但没有使用权。
我写了一个类,
class Test{
private int x=10;

}
public class TestPrivate extends Test{
int x=100;
public static void main(String[] args){
TestPrivate tp = new TestPrivate();
System.out.println(tp.x);

}
}

这样TestPrivate 继承了Test,也继承了私有成员变量 x,但是没有访问它。
如果按马士兵说的,TestPrivate 已经有了一个私有成员变量x,我又定义了一个x,应该会提示重复的变量名,但是现在编译是正确的?难道我理解的有问题?
...全文
385 43 打赏 收藏 转发到动态 举报
写回复
用AI写文章
43 条回复
切换为时间正序
请发表友善的回复…
发表回复
EngineZhang 2010-09-07
  • 打赏
  • 举报
回复
[Quote=引用 39 楼 qq378166396 的回复:]
引用 38 楼 xq1988916 的回复:
楼主把父类的x变量变成public,子类里面的x一样的不会出现编译错误的,打印也是打印子类的变量x


这个很对,Java允许父类和子类有同名属性,且不存在覆写成员变量,二者内存地址不一样
[/Quote]
+1
fcukhpwywang 2010-09-07
  • 打赏
  • 举报
回复
学习下
xq1988916 2010-09-06
  • 打赏
  • 举报
回复
楼主把父类的x变量变成public,子类里面的x一样的不会出现编译错误的,打印也是打印子类的变量x
xiaobaomeng 2010-09-06
  • 打赏
  • 举报
回复
引:“父类的私有成员也会被继承,即使是private,但不能去访问。对私有成员有所有权,但没有使用权。”
既然不能访问,不能使用,何来会覆盖呢
无聊司马 2010-09-06
  • 打赏
  • 举报
回复
各位讨论的都是些有水平的问题 不要在这里费时间了
zxcv991 2010-09-06
  • 打赏
  • 举报
回复
路过看看
qq378166396 2010-09-06
  • 打赏
  • 举报
回复
[Quote=引用 38 楼 xq1988916 的回复:]
楼主把父类的x变量变成public,子类里面的x一样的不会出现编译错误的,打印也是打印子类的变量x
[/Quote]

这个很对,Java允许父类和子类有同名属性,且不存在覆写成员变量,二者内存地址不一样
cry615 2010-09-05
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 hellokitty1908 的回复:]
其实我想问私有成员在继承时: 子类是根本没有继承父类的私有成员,还是继承了不能访问但可以重写?
[/Quote]
子类可以继承父类的私有变量,得是在父类的方法内吧
mm5201234 2010-09-05
  • 打赏
  • 举报
回复
学习了。顶礼膜拜!!
「已注销」 2010-09-03
  • 打赏
  • 举报
回复
这个问题看thinking java 里面有详解
hellokitty1908 2010-09-03
  • 打赏
  • 举报
回复
[Quote=引用 26 楼 yangchao228 的回复:]
楼主,很明显父类中的私有类变量 子类是继承不了的 建议楼主看java编程思想, 看完后对java理解更加透彻
[/Quote]

你看看8楼的说法。
zhoupin 2010-08-25
  • 打赏
  • 举报
回复
学习下
大米随笔 2010-08-25
  • 打赏
  • 举报
回复
如果子类继承了父类的成员变量且又定义一个同名的成员变量,从java语法来说,肯定要报错的,同事java的语法里说private的成员是不能继承的。
langqingsj 2010-08-25
  • 打赏
  • 举报
回复
1)首先这样会编译正确,因为父类中的private成员能被继承但不能被访问,也就是空间还是占的,但被锁住了没法用,子类中的同名的成员变量或方法均可理解为子类自己重新定义的。
2)不存在覆写private成员或方法一说,且不存在覆写成员变量一说。
coooliang 2010-08-25
  • 打赏
  • 举报
回复
+1[Quote=引用 2 楼 keeya0416 的回复:]
java允许父子类中的同名变量
访问的时候是决定于引用的类型
当然本例中的父类用的是private 子类是访问不到的
[/Quote]
ylongshao1987 2010-08-25
  • 打赏
  • 举报
回复
这个有什么好说的啊,父类私有变量肯定是用不了的了,除非父类有变量的get方法。
蒙奇D路飞 2010-08-24
  • 打赏
  • 举报
回复
楼主,很明显父类中的私有类变量 子类是继承不了的 建议楼主看java编程思想, 看完后对java理解更加透彻
大黄梨 2010-08-20
  • 打赏
  • 举报
回复
可以试试把int x=100;删掉,然后把private 改成protected 或 public 子类就能访问。

其实可以这么理解,在子类里面有个黑盒,里面装的是父类的东西,然后有一部分能看到,有一部分不能看到。

私有的其实就是那部分不能看到的部分,也就是没有使用权。
kondor 2010-08-20
  • 打赏
  • 举报
回复
下面这个例子应该能说明子类继承了父类的私有属性,只是不能直接使用而已
这个例子中,只有子类在调用test方法,如果说子类没有继承父类的私有属性,那test方法如何调用父类的私有成员变量a呢,说明这个a已经被子类继承了

public class Parent {

private String a = "a";
public String b = "b";

public void test(){
System.out.println(a);
}
}

public class Child extends Parent {

public String c = "c";
public String d = "d";

public static void main(String[] args) {
Child child = new Child();
System.out.println(child.b);
child.test();
}
}
dabanphoto 2010-08-20
  • 打赏
  • 举报
回复
父类的虽然继承了,但看不见,也就不是不能访问,所以并不冲突啊。
加载更多回复(22)
v1.5.2 Build 1 版汉化说明 汉化人:王锦阳 汉化语言:简体中文 汉化版本:1.5.2 Build 1 EasyUI版本:1.5.2 汉化时间:2017年06月27日 个人博客:http://blog.sina.com.cn/richie696 好吧,这次更新迟了,因为工作实在太忙,加上最近在忙着买车的事情,所以已经顾不过来了,今天上easyui官网看已经发布1.5.2了,查了一下发现好久之前就更新了,好在主要是优化和BUG修复,没有什么新内容的加入,所以应该不会妨碍大家使用,另外由于官方会不定期的更新官方的文档,更新也不会通知我,所以我制作API的时候也只能根据我所在时间点的官方文档作为翻译基础,而文档发布之后更新的内容自然不会出现在中文API当中,所以这就需要大家的帮忙和反馈了,反馈方式有2种: 1.我的博客文章下直接回复; 2.加入Easy UI的使用交流群:189263358(本群欢迎那些愿意分享和帮助别人的人,如果只是那种一味只知道求帮助而从不帮助别人的人请勿加群,否则加了也会被踢掉,谢谢配合。) 反馈后我会将新内容加入,我不可能每次更新文档都将中文API和英文官网上的文档做一次1:1的校验,这样工作量太大,我也没那么多时间,所以感谢大家来一起帮忙完善! jQuery EasyUI 1.5.2 版本更新内容 Bug(修复) • form:修复在调用“reset”方法的时候会导致input输入框初始值消失的BUG; • textbox:修复在调用“destroy”方法的时候无法清除字段标签的BUG; • datagrid:修复在不存在的行上调用“selectRow”方法的时候会导致记录无效行信息的BUG。 Improvement(改进) • datagrid:ctrl键选择支持Mac键盘; • datagrid:新增“scrollOnSelect”属性,可以让用户确定是否在选择行时自动滚动到对应行所在的位置; • combotree:添加“textField”属性; • combotreegrid:添加“textField”属性; • pagination:添加“showPageInfo”属性; • panel:添加“halign”和“titleDirection”属性,以允许用户自定义面板标题文字的对齐方式; • accordion:添加“halign”属性,以允许用户构建水平方向的分类标签; • tagbox:添加“required”属性,以允许用户将其用于验证指定值是否为空(译者注:该属性自validatebox继承而来,1.5.2版之前也有该属性只是设置以后无效)。

62,628

社区成员

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

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