fanyo 2009-08-04 22:41
浏览 194
已采纳

继承时候父类的私有变量的问题


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,可是结果如上
  • 写回答

4条回答 默认 最新

  • laynepeng 2009-08-04 22:41
    关注

    属性不存在重写,方法才能重写~

    所以b.print(); 调用的还是A的print

    只要你在A里面写了print,那就是child了。。。

    而这不是说你重写了父类的属性...

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置