![](/img/trans.png)
[英]why calling super giving issue while callin in child class constructor?
[英]Why calling 'super()' in child class constructor?
為什么我需要在這里調用super
?
class Animal {
public Animal(String arg) {
System.out.println("Constructing an animal: " + arg);
}
}
class Dog extends Animal {
public Dog() {
super("From Dog constructor");
System.out.println("Constructing a dog.");
}
}
如果父構造函數沒有參數,則沒有任何理由。 否則,您需要顯式調用 super(...) 來設置這些參數。
默認情況下,每個類都具有默認構造函數,即非參數化構造函數,一旦您在其上定義了任何構造函數,那么默認行為將不起作用。
另一件事是,如果任何類擴展任何其他類,那么默認情況下,子類的每個構造函數都會在內部調用其父類的默認構造函數,即 super() 但是一旦您向父類聲明參數化構造函數,則需要從子類構造函數中顯式調用它即超級(參數...)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.