在Java中,構造函數(Constructor)是一種特殊的方法,用于初始化對象的狀態
構造函數的名稱與類名相同,沒有返回類型。可以有多個構造函數,但它們的參數列表必須不同。
public class MyClass {
private int x;
private String y;
// 無參構造函數
public MyClass() {
this.x = 0;
this.y = "";
}
// 帶參數的構造函數
public MyClass(int x, String y) {
this.x = x;
this.y = y;
}
}
要使用構造函數創建對象,需要調用類的構造函數。可以使用new
關鍵字來實例化對象。
public static void main(String[] args) {
// 使用無參構造函數創建對象
MyClass obj1 = new MyClass();
// 使用帶參數的構造函數創建對象
MyClass obj2 = new MyClass(42, "Hello World");
}
通過創建的對象,可以訪問類的成員變量和方法。
public static void main(String[] args) {
MyClass obj = new MyClass(42, "Hello World");
// 訪問成員變量
System.out.println("x: " + obj.x);
System.out.println("y: " + obj.y);
// 調用成員方法
obj.someMethod();
}
注意:在Java中,建議將成員變量設置為私有(private),并通過公共(public)的getter和setter方法來訪問和修改這些變量。這樣可以保護類的內部實現,并提供更好的封裝。
public class MyClass {
private int x;
private String y;
// ...構造函數...
// 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;
}
}
現在,可以通過getter和setter方法訪問和修改成員變量:
public static void main(String[] args) {
MyClass obj = new MyClass(42, "Hello World");
// 訪問成員變量
System.out.println("x: " + obj.getX());
System.out.println("y: " + obj.getY());
// 修改成員變量
obj.setX(100);
obj.setY("New Value");
}