zxhyJack
2017-05-01 10:12
采纳率: 100%
浏览 962
已采纳

小白求助java中super关键字问题

public class Sample3_14 {
Sample3_14(){
System.out.println("父类无参构造方法");
}
Sample3_14(int fp){
System.out.println("父类有参构造方法fp="+fp);
}
}
class Test extends Sample3_14{
int son;
Test(){
super(5);
}
Test(int sp){
son=sp;
}
public static void main(String[] args) {
Test t1=new Test();
System.out.println(t1.son);
Test t2=new Test(10);
System.out.print(t2.son);
}
}运行结果是
父类有参构造方法fp=5
0
父类无参构造方法
10
请问那个语句输出的“父类有参构造方法fp=5”,
还有为啥t1.son=0呢?

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • threenewbee 2017-05-01 10:28
    已采纳

    Test t2=new Test(10); -> super(5); -> System.out.println("父类有参构造方法fp="+fp);
    这里输出的

    为啥t1.son=0,因为第一次调用的是无参构造函数,没有给son赋值

    已采纳该答案
    打赏 评论

相关推荐 更多相似问题