作者edge2000 (好累)
看板java
标题[问题] 继承会自动叫父类的建构式
时间Sat Jun 2 00:53:25 2007
各位高手你们好,
我知道我很龟毛问这个没什麽意义的问题,
但我还是想知道为什麽@@"
问题如下:
有2个class
calss Father{
Father(){
System.out.println("A");
}
}
class Son extends Father{
Son(){
System.out.println("B");
}
}
执行:
Son son = new Son();
书上说执行结果为:
A
B
因为子类别建构式那会自动有"super();"这行来呼叫父类别建构子。
----------------------------------------------------------------------
另一个程式如下:
class Father {
Father(char c){
System.out.println(c);
}
}
class Son extends Father{
Son(){
★
this('A');
System.out.println("B");
}
Son(char c){
super(c);
}
}
public class Extends5 {
public static void main(String[] args) {
Son son = new Son();
}
}
执行结果为:
A
B
那为什麽结果不会是在上面★这个地方因为要自动呼叫父类建构子super();
而产生编译错误呢?
非常感谢回答的高手,
因为我观念好像都学的不太清楚。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.217.160.56