如果在Java中呼叫建構函式中的“super()”,而沒有擴充套件任何類,會發生什麼?
super關鍵字是Java中超類物件的引用。使用它,您可以呼叫超類的例項方法、建構函式和變數。
呼叫超類的建構函式
您可以從子類的建構函式中呼叫超類的建構函式。
示例
考慮以下示例,它包含兩個類:SuperClass類和SubClass類,其中SubClass擴充套件了SuperClass。超類有一個帶引數的建構函式,我們使用“super”關鍵字從子類中呼叫它。
class SuperClass{
SuperClass(int data){
System.out.println("Superclass's constructor: "+data);
}
}
public class SubClass extends SuperClass{
SubClass(int data) {
super(data);
}
public static void main(String args[]){
SubClass sub = new SubClass(400);
}
}輸出
Superclass's constructor: 400
如果SuperClass具有預設建構函式,則無需顯式使用“super()”呼叫它,它將隱式呼叫。
示例
class SuperClass{
SuperClass(){
System.out.println("Superclass's constructor");
}
}
public class SubClass extends SuperClass{
SubClass() {
//super();
}
public static void main(String args[]){
SubClass sub = new SubClass();
}
}輸出
Superclass's constructor
如果我們不帶任何超類呼叫“super()”
實際上,什麼也不會顯示。因為名為Object的類是Java中所有類的超類。如果您不帶任何超類呼叫“super()”,則會在內部呼叫Object類的預設建構函式(它什麼也不顯示)。
public class Sample {
Sample() {
super();
}
public static void main(String args[]){
Sample sub = new Sample();
}
}輸出
//Nothing will be displayed……
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP