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++函式
- Golang建立建構函式的方法詳解Golang函式
- Java泛型建構函式Java泛型函式
- 詳解Java函式式介面Java函式
- PHP筆記:建構函式與解構函式PHP筆記函式
- 詳解 JavaScript 建構函式和 "new" 操作符JavaScript函式
- 關於建構函式與解構函式的分享函式
- ## 建構函式函式
- C++ 建構函式和解構函式C++函式
- 類的建構函式和解構函式函式
- Java 建構函式與修飾符詳解:初始化物件與控制許可權Java函式物件
- vue原始碼解讀-建構函式Vue原始碼函式
- Java建構函式的繼承問題Java函式繼承
- JavaScript 建構函式JavaScript函式
- 詳解js原型,建構函式以及class之間的原型關係JS原型函式
- 迴圈單連結串列建構函式、解構函式C++實現函式C++
- 【C++】初始化列表建構函式VS普通建構函式C++函式
- 11-建構函式函式
- 初識建構函式函式
- JavaScript Date()建構函式JavaScript函式
- 建構函式建立物件函式物件
- 建構函式和類函式
- C++入門記-建構函式和解構函式C++函式
- 建構函式與普通函式的區別函式
- 【譯】JavaScript 工廠函式 vs 建構函式JavaScript函式
- Python中的56個內建函式詳解(七)Python函式
- SetupDiGetClassDevs函式詳解dev函式
- constructor 未指向建構函式Struct函式
- 回顧Javascript建構函式JavaScript函式
- JS 建構函式與類JS函式
- Dart建構函式介紹Dart函式
- 分散式架構基礎:Java RMI詳解分散式架構Java
- del解構函式函式
- 3.11 solidity 函式詳解Solid函式