java中的構(gòu)造函數(shù)有哪些類型?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
1.無參構(gòu)造函數(shù)
不帶入?yún)⒌臉?gòu)造函數(shù)叫無參構(gòu)造函數(shù),對類的成員初始化有兩種方法:
(1)在類成員變量聲明時進行初始化
public class MyClass { private String name = "Jerry"; private int id = 1; public MyClass() { } }
(2)在無參構(gòu)造函數(shù)的方法體里對類成員變量初始化
public class MyClass { private String name; private int id; public MyClass() { this.name = "Jerry"; this.id = 1; } }
帶入?yún)⒌臉?gòu)造函數(shù)叫有參構(gòu)造函數(shù)。
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
當(dāng)類里沒有顯式地定義代碼來實現(xiàn)任何構(gòu)造函數(shù)時,Java編譯器將會在編譯的字節(jié)碼(.class文件)里面為這個類插入默認構(gòu)造函數(shù)。由于是在編譯階段插入,因此在源文件(.java)里是不會找到默認構(gòu)造函數(shù)的代碼的。
默認構(gòu)造函數(shù)形式上類似無參構(gòu)造函數(shù)(都沒有入?yún)ⅲ?,但是二者并不能劃等號,區(qū)別如下:
默認構(gòu)造函數(shù)方法體為空,無參構(gòu)造函數(shù)方法體可以為空也可以不為空;
只要類里顯式的創(chuàng)建了一個構(gòu)造函數(shù),比如一個無參構(gòu)造函數(shù),編譯器都不會再為這個類創(chuàng)建默認構(gòu)造函數(shù)了。
看完上述內(nèi)容,你們掌握java中的構(gòu)造函數(shù)有哪些類型的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
當(dāng)前文章:java中的構(gòu)造函數(shù)有哪些類型-創(chuàng)新互聯(lián)
地址分享:http://jinyejixie.com/article0/dphsio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、網(wǎng)站設(shè)計公司、網(wǎng)站內(nèi)鏈、關(guān)鍵詞優(yōu)化、網(wǎng)站收錄、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容