Java構(gòu)造方法是對象創(chuàng)建時自動執(zhí)行的方法,用于初始化對象。Java類中有兩種構(gòu)造方法:有參構(gòu)造方法和無參構(gòu)造方法。
無參構(gòu)造方法
無參構(gòu)造方法是默認(rèn)構(gòu)造方法,在類被實例化時默認(rèn)調(diào)用,沒有任何參數(shù)。如果在類中沒有顯式地定義構(gòu)造方法,Java編譯器會自動為這個類生成一個默認(rèn)的無參構(gòu)造方法。
public class MyClass { //默認(rèn)的無參構(gòu)造方法 public MyClass() { } }
有參構(gòu)造方法
有參構(gòu)造方法與無參構(gòu)造方法不同,它有參數(shù)傳入。該方法被用來指定對象創(chuàng)建時的初始狀態(tài)。一個類可以有多個有參構(gòu)造方法,分別使用不同的參數(shù)列表來調(diào)用。當(dāng)一個類中存在有參構(gòu)造方法時,Java編譯器不再自動生成無參構(gòu)造方法。
public class Student { private String name; private int age; //帶有參數(shù)的構(gòu)造方法 public Student(String sName, int age) { this.name = sName; this.age = age; } public String getName() { return name; } public int getAge() { return age; } }
在以上例子中,我們已經(jīng)定義了一個Student類,其中帶有一個帶有2個參數(shù)的構(gòu)造方法。我們也可以在該類中定義一個無參的構(gòu)造方法:
public class Student { private String name; private int age; public Student() {} //帶有參數(shù)的構(gòu)造方法 public Student(String sName, int age) { this.name = sName; this.age = age; } public String getName() { return name; } public int getAge() { return age; } }
在使用Java構(gòu)造方法時,無參構(gòu)造方法主要用于創(chuàng)建對象實例并初始化默認(rèn)值,而有參構(gòu)造方法則支持將構(gòu)造方法參數(shù)傳遞到實例域中。