在Java中,構(gòu)造函數(shù)(Constructor)是一種特殊的方法,用于初始化對(duì)象的狀態(tài)
構(gòu)造函數(shù)的名稱與類名相同,沒(méi)有返回類型??梢杂卸鄠€(gè)構(gòu)造函數(shù),但它們的參數(shù)列表必須不同。
public class MyClass {
private int x;
private String y;
// 無(wú)參構(gòu)造函數(shù)
public MyClass() {
this.x = 0;
this.y = "";
}
// 帶參數(shù)的構(gòu)造函數(shù)
public MyClass(int x, String y) {
this.x = x;
this.y = y;
}
}
要使用構(gòu)造函數(shù)創(chuàng)建對(duì)象,需要調(diào)用類的構(gòu)造函數(shù)??梢允褂?code>new關(guān)鍵字來(lái)實(shí)例化對(duì)象。
public static void main(String[] args) {
// 使用無(wú)參構(gòu)造函數(shù)創(chuàng)建對(duì)象
MyClass obj1 = new MyClass();
// 使用帶參數(shù)的構(gòu)造函數(shù)創(chuàng)建對(duì)象
MyClass obj2 = new MyClass(42, "Hello World");
}
通過(guò)創(chuàng)建的對(duì)象,可以訪問(wèn)類的成員變量和方法。
public static void main(String[] args) {
MyClass obj = new MyClass(42, "Hello World");
// 訪問(wèn)成員變量
System.out.println("x: " + obj.x);
System.out.println("y: " + obj.y);
// 調(diào)用成員方法
obj.someMethod();
}
注意:在Java中,建議將成員變量設(shè)置為私有(private),并通過(guò)公共(public)的getter和setter方法來(lái)訪問(wèn)和修改這些變量。這樣可以保護(hù)類的內(nèi)部實(shí)現(xiàn),并提供更好的封裝。
public class MyClass {
private int x;
private String y;
// ...構(gòu)造函數(shù)...
// Getter 方法
public int getX() {
return x;
}
public String getY() {
return y;
}
// Setter 方法
public void setX(int x) {
this.x = x;
}
public void setY(String y) {
this.y = y;
}
}
現(xiàn)在,可以通過(guò)getter和setter方法訪問(wèn)和修改成員變量:
public static void main(String[] args) {
MyClass obj = new MyClass(42, "Hello World");
// 訪問(wèn)成員變量
System.out.println("x: " + obj.getX());
System.out.println("y: " + obj.getY());
// 修改成員變量
obj.setX(100);
obj.setY("New Value");
}