浏览 2023 次
锁定老帖子 主题:继承时候父类的私有变量的问题
该帖已经被评为隐藏帖
|
|
---|---|
作者 | 正文 |
发表时间:2009-08-04
public class A { private String name= " parent"; public void print(){ System.out.println(name+"**********"); } } public class B extends A{ private String name = "child"; } public class Test { public static void main(String[] args) { B b =new B(); b.print(); } } 运行结果如下 parent********** 通过父类的方法能访问父类的变量 达人来讨论下这个问题 我原先觉得 name 是private的时候打child,public default才能打parent,可是结果如上 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-08-04
不能继承父类的私有属性,在new一个对象的时候,是先初始化父类的成员变量的,所以应该是parent
我觉得是这样 |
|
返回顶楼 | |
发表时间:2009-08-04
最后修改:2009-08-04
属性不存在重写,方法才能重写~
所以b.print(); 调用的还是A的print 只要你在A里面写了print,那就是child了。。。 而这不是说你重写了父类的属性... |
|
返回顶楼 | |
发表时间:2009-08-04
你得在B类里重写print()方法
|
|
返回顶楼 | |