Java建構函式詳解
Java建構函式詳解
建構函式的特點:
- 每個類都預設有一個無參的建構函式,如果自己定義了建構函式,則預設的建構函式被覆蓋,一個類可以存在多個建構函式(過載)
- 建構函式名稱必須和類名相同
- 建構函式沒有返回型別
- 建構函式在建立物件時自動呼叫或者在子類建構函式中用super()或super(引數)方式呼叫
建構函式的作用:物件在呼叫功能之前,對物件進行初始化,比如賦初值之類的。
建立物件時自動呼叫:
public class Demo3 {
public Demo3(){
System.out.println("我是建構函式");
}
public Demo3(int a){
System.out.println("我是建構函式"+a);
}
public static void main(String[] args) {
Demo3 demo3 = new Demo3();
Demo3 demo4 = new Demo3(2);
}
}
在子類建構函式中呼叫(接上面的程式碼):
public class Demo4 extends Demo3 {
public Demo4()
{
//super();
super(2);
System.out.println("我是子類建構函式");
} public static void main(String[] args) {
Demo4 demo = new Demo4();
}
}
注意:在子類建構函式可以使用super(引數)或super()方式呼叫父類的建構函式,不寫super()或super(引數)也會預設呼叫父類的無參建構函式,當父類中沒有無參建構函式,在子類中必須手動呼叫父類中的有參建構函式,因為子類物件的生成是在父類的物件先生成的前提下(沒有爸爸哪來的兒子)。
歡迎大家在評論區留言,如有錯誤,請指出。
相關文章
- 建構函式詳解函式
- c++建構函式詳解C++函式
- c++建構函式詳解薦C++函式
- C++中建構函式,拷貝建構函式和賦值函式的詳解C++函式賦值
- 建構函式與解構函式函式
- 預設建構函式、引數化建構函式、複製建構函式、解構函式函式
- Golang建立建構函式的方法詳解Golang函式
- C++拷貝建構函式詳解C++函式
- C++ 拷貝建構函式詳解C++函式
- Java的建構函式Java函式
- 虛解構函式(√)、純虛解構函式(√)、虛建構函式(X)函式
- Java泛型建構函式Java泛型函式
- PHP筆記:建構函式與解構函式PHP筆記函式
- 詳解 JavaScript 建構函式和 "new" 操作符JavaScript函式
- 詳解Java函式式介面Java函式
- 關於建構函式與解構函式的分享函式
- Java建構函式的繼承Java函式繼承
- ## 建構函式函式
- 建構函式函式
- Java的預設建構函式呼叫Java函式
- 【譯】3. Java反射——建構函式Java反射函式
- 建構函式與解構函式是否可以丟擲異常函式
- C++建構函式解構函式的執行過程C++函式
- [譯] 建構函式已死,建構函式萬歲!函式
- C++ 建構函式和解構函式C++函式
- 類的建構函式和解構函式函式
- Java 建構函式與修飾符詳解:初始化物件與控制許可權Java函式物件
- vue原始碼解讀-建構函式Vue原始碼函式
- c# tcbs之建構函式呼叫建構函式示例C#函式
- Java建構函式的繼承問題Java函式繼承
- C++ 類建構函式和解構函式C++函式
- JavaScript 建構函式JavaScript函式
- 建構函式、this、static函式
- python基礎-內建函式詳解Python函式
- 詳解js原型,建構函式以及class之間的原型關係JS原型函式
- C/C++——建構函式、複製建構函式和解構函式的執行時刻C++函式
- 迴圈單連結串列建構函式、解構函式C++實現函式C++
- 【C++】初始化列表建構函式VS普通建構函式C++函式