溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

在Java語(yǔ)言中什么是構(gòu)造方法

發(fā)布時(shí)間:2022-01-04 10:07:02 來(lái)源:億速云 閱讀:280 作者:小新 欄目:編程語(yǔ)言

這篇文章給大家分享的是有關(guān)在Java語(yǔ)言中什么是構(gòu)造方法的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

什么是構(gòu)造方法

帶參數(shù)的構(gòu)造方法

1.3.1 什么是構(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)造方法。

1.3.2 帶參數(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ò),可以把它分享出去讓更多的人看到吧!

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI