新手求问 super的用法

霰雪and濯焰 2016-08-11 08:25:08
public class Parent {
String name;
public Parent() {
name = "Parent";
}
}
class Child extends Parent{
//String name;
public Child() {
name = "Child";
}
public void show() {
System.out.println(name);
System.out.println(super.name);
}
public static void main(String[] args) {
Child child = new Child();
child.show();
}
}

输出为什么是
Child
Child
...全文
118 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
孤独与酒i 2016-08-12
  • 打赏
  • 举报
回复
子类的String name 被你注释掉了 所以你子类构造器赋值name的时候,其实是 super.name = "Child" ,用的是父类的name变量,直接就把父类的name值改变了,所以你打印的时候两次打印都是使用父类的name值
异常异长 2016-08-11
  • 打赏
  • 举报
回复
name = "Child"; 这句 直接把父类的name字段赋值了。 你所用到的name字段是来自父类的。

50,527

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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