您好,登錄后才能下訂單哦!
java中的構造函數有哪些類型?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
1.無參構造函數
不帶入參的構造函數叫無參構造函數,對類的成員初始化有兩種方法:
(1)在類成員變量聲明時進行初始化
public class MyClass { private String name = "Jerry"; private int id = 1; public MyClass() { } }
(2)在無參構造函數的方法體里對類成員變量初始化
public class MyClass { private String name; private int id; public MyClass() { this.name = "Jerry"; this.id = 1; } }
帶入參的構造函數叫有參構造函數。
public class Employee { int empId; String empName; //parameterized constructor with two parameters Employee(int id, String name){ this.empId = id; this.empName = name; } void info(){ System.out.println("Id: "+empId+" Name: "+empName); } public static void main(String args[]){ Employee obj1 = new Employee(10245,"Chaitanya"); Employee obj2 = new Employee(92232,"Negan"); obj1.info(); obj2.info(); } }
輸出:
Id: 10245 Name: Chaitanya Id: 92232 Name: Negan
當類里沒有顯式地定義代碼來實現任何構造函數時,Java編譯器將會在編譯的字節碼(.class文件)里面為這個類插入默認構造函數。由于是在編譯階段插入,因此在源文件(.java)里是不會找到默認構造函數的代碼的。
默認構造函數形式上類似無參構造函數(都沒有入參),但是二者并不能劃等號,區別如下:
默認構造函數方法體為空,無參構造函數方法體可以為空也可以不為空;
只要類里顯式的創建了一個構造函數,比如一個無參構造函數,編譯器都不會再為這個類創建默認構造函數了。
看完上述內容,你們掌握java中的構造函數有哪些類型的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。