作者neigence ()
站内java
标题Re: [问题] Java SE6全方位学习的习题问题
时间Fri Nov 14 19:28:23 2008
※ 引述《SeaSerene (平静)》之铭言:
: 版上大大,小弟是初学java的新手,在研读到朱仲杰先生的Java SE6全方位学习书中
: 的第7章课後习题选择题第7题,看了很久还是不知问题出在哪里,题目如下:
: 请问Q7_2类别执行的结果为何?
: Q7_1.java Q7_2.java
: public class Q7_1 public class Q7_2 extends Q7_1
: { {
: int i; public static void main(String argv[])
: public Q7_1(int i) {
: { Q7_1 q1 = new Q7_1(10);
: this.i = i; System.out.println(q1.i);
: } }
: } }
: 答案选项:A.10 B.0 C.编译错误,无法执行
: 小弟将上面程式码进行编译时就出现错误,但一直不懂到底问题出在哪里,
: 希望版上高手帮忙解惑,感恩!
因为Q7_1 没有预设的建构子
而Q7_2 没有建构子,java会帮它做一个预设的建构子
也就是 public Q7_2(){}
而既然是继承自Q7_1 Q7_2的建构子会隐含一行 super();
可是Q7_1 却没有预设的建构子给这一行呼叫,就compile error啦~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.194.170.218
1F:推 SeaSerene:嗯,大大正解!我已经把这个概念给厘清了,thanks! 11/15 13:25