Java中的預設建構函式有什麼作用?
Java中的預設建構函式
建構函式在建立物件時對其進行初始化。它與它的類名相同,在語法上類似於方法。但是,建構函式沒有顯式的返回型別。它主要分為兩種型別:
- 帶引數的建構函式 - 帶有引數的建構函式。
- 無引數建構函式 - 沒有引數的建構函式。
示例
public class Sample{
int num;
Sample(){
num = 100;
}
Sample(int num){
this.num = num;
}
public static void main(String args[]){
System.out.println(new Sample().num);
System.out.println(new Sample(1000).num);
}
}輸出
100 1000
預設建構函式
建議在定義類時提供上述任何一種建構函式。如果沒有,Java編譯器會代表你提供一個無引數的預設建構函式。
這是一個建構函式,它使用它們各自的預設值(例如,物件為null,浮點型和雙精度型為0.0,布林型為false,位元組型、短整型、整型和長整型為0)初始化類的變數。
如果你觀察下面的例子,我們沒有為它提供任何建構函式。
public class Sample{
int num;
public static void main(String args[]){
System.out.println(new Sample().num);
}
}如果你編譯並執行上面的程式,預設建構函式會將整數變數num初始化為0,你將得到0作為結果。
使用javap驗證
javap 命令顯示關於類的欄位、建構函式和方法的資訊。如果你(在編譯後)使用javap命令執行上面的類,你可以觀察到編譯器新增的預設建構函式,如下所示
D:\>javap Sample
Compiled from "Sample.java"
public class Sample {
int num;
public Sample();
public static void main(java.lang.String[]);
}
廣告
資料結構
網路
關係資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP