具有超級功能但沒有超級功能的構造之間有什麼區別。
那麼,它可以很容易地測試。他們對這種情況實際上是一樣的。 更重要的是,您可能想知道何時以及如何使用super。
運行以下代碼:
public class Test
{
public static void main(String[] args)
{
new Students("a", "b");
}
}
class Parent
{
public Parent(){
System.out.println("Parent class constructor invoked");
}
}
class Students extends Parent
{
String name;
String address;
public Students(String name, String address) {
super();
this.name = name;
this.address = address;
}
}
OUTPUT: 父類的構造調用
現在我們刪除super()
;
class Students extends Parent
{
String name;
String address;
public Students(String name, String address) {
this.name = name;
this.address = address;
}
}
OUTPUT: 父類的構造調用
就像如何類隱含延伸到Object
,即使你不把它們擴展到一些東西。 「默認情況下」一個將在每個構造函數中被調用,如果你沒有給出。
很好的解釋@ user3437460 –
@Tarikhelian很高興它幫助;) – user3437460