您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)在Java語(yǔ)言中什么是構(gòu)造方法的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
什么是構(gòu)造方法
帶參數(shù)的構(gòu)造方法
在Java語(yǔ)言中,當(dāng)創(chuàng)建一個(gè)對(duì)象時(shí),需要對(duì)創(chuàng)建的對(duì)象做相應(yīng)的初始化工作,例如分配內(nèi)存地址給對(duì)象的屬性,設(shè)定對(duì)象屬性的初始值。這個(gè)工作是由Java中一種被稱為“構(gòu)造方法”的特殊方法來(lái)完成的。
在Java的每一個(gè)類中,都會(huì)提供一個(gè)構(gòu)造方法。如果該類中我們沒(méi)有定義構(gòu)造方法,那么在該類中編譯器會(huì)自動(dòng)調(diào)用隱式構(gòu)造方法。
構(gòu)造方法的語(yǔ)法規(guī)則:
1、 方法名必須與類名相同
2、 沒(méi)有返回類型,也不能寫(xiě)void。
實(shí)例7就給出了一個(gè)構(gòu)造方法的示例,在這個(gè)構(gòu)造方法中,為對(duì)象屬性name、age賦予了初始值。
實(shí)例7
package org.hopetech.l01;
public class Employee4 {
private String name; // 員工姓名
private int age; // 員工年齡
public Employee4(){
this.name = "羅治國(guó)";
this.age = 30;
}
/**
* 員工進(jìn)行自我介紹
*/
public void selfIntroduction() {
System.out.println("我是" + name + ",我今年有" + age + "歲了!");
}
}
對(duì)象不可以調(diào)用構(gòu)造方法,構(gòu)造方法是專門(mén)用來(lái)創(chuàng)建對(duì)象的。因此構(gòu)造方法必須必由new關(guān)鍵字調(diào)用。例如:Employee4 employee = new Employee4();
實(shí)例8
package org.hopetech.l01;
public class Employee3Test {
public static void main(String[] args) {
//調(diào)用構(gòu)造方法實(shí)例化員工類
Employee4 employee = new Employee4();
//調(diào)用員工自我介紹的方法
employee.selfIntroduction();
}
}
在實(shí)例化對(duì)象時(shí),我們已經(jīng)通過(guò)構(gòu)造方法為實(shí)例對(duì)象屬性賦了默認(rèn)的初始值,完成了對(duì)象屬性的實(shí)始化工作。
如果我們想顯式地為實(shí)例對(duì)象屬性賦初始值,也就是說(shuō),我們將類實(shí)例化多個(gè)對(duì)象,而每個(gè)對(duì)象的屬性值都不是不同的。這個(gè)時(shí)候,我們需要使用到帶參的構(gòu)造方法。
帶參數(shù)的構(gòu)造方法可以在實(shí)例化對(duì)象時(shí),通過(guò)構(gòu)造方法傳入?yún)?shù)初始化對(duì)象的屬性。
實(shí)例9
package org.hopetech.l01;
public class Employee5 {
private String name; // 員工姓名
private int age; // 員工年齡
public Employee5(String name,int age){
this.name = name;
this.age = age;
}
/**
* 員工進(jìn)行自我介紹
*/
public void selfIntroduction() {
System.out.println("我是" + name + ",我今年有" + age + "歲了!");
}
}
很明顯,我們通過(guò)帶參構(gòu)造方法,顯式的為Employee5員工類的各個(gè)實(shí)例屬性賦予了初始值。
在使用帶參構(gòu)造方法實(shí)例化對(duì)象時(shí),傳遞的值必須和構(gòu)造方法的參數(shù)在個(gè)數(shù)、順序和數(shù)據(jù)類型上完全匹配。
實(shí)例10
package org.hopetech.l01;
public class Employee5Test {
public static void main(String[] args) {
//使用帶參構(gòu)造方法實(shí)例化一個(gè)員工
Employee5 employee1 = new Employee5("李東",24);
Employee5 employee2 = new Employee5("羅治國(guó)",30);
//調(diào)用員工自我介紹的方法
employee1.selfIntroduction();
employee2.selfIntroduction();
}
}
通過(guò)調(diào)用帶參構(gòu)造方法,在創(chuàng)建對(duì)象的同時(shí)完成了對(duì)象屬性的初始化工作,簡(jiǎn)化了對(duì)象初始化的操作。
在不同情況下,我們對(duì)類可能有不同的初始化行為。那么我們可能要編寫(xiě)多個(gè)構(gòu)造方法,這種情況應(yīng)該怎么樣才能解決呢?我們下面將會(huì)學(xué)到一個(gè)重要概念:方法重載。
感謝各位的閱讀!關(guān)于“在Java語(yǔ)言中什么是構(gòu)造方法”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。