Java 类的构造方法可以访问以下成员:
- 类变量(静态成员变量):构造方法可以直接访问类变量,因为它们属于类本身,而不是类的实例。在构造方法中使用
this
关键字可以区分实例变量和类变量。
public class MyClass { static int classVar; int instanceVar; public MyClass() { classVar = 10; // 访问类变量 this.instanceVar = 20; // 访问实例变量 } }
- 实例变量:构造方法可以直接访问实例变量,因为它们是在创建类的实例时分配的。
public class MyClass { int instanceVar; public MyClass(int instanceVar) { this.instanceVar = instanceVar; // 访问实例变量 } }
- 其他构造方法:构造方法可以调用同一个类中的其他构造方法,以便重用代码。这可以通过使用
this()
关键字实现。
public class MyClass { int instanceVar; public MyClass() { this(0); // 调用另一个构造方法 } public MyClass(int instanceVar) { this.instanceVar = instanceVar; // 访问实例变量 } }
- 方法:构造方法不能直接访问类中的方法,因为它们是在类的实例上调用的。但是,构造方法可以通过调用类中的其他方法来实现类似的功能。
public class MyClass { int instanceVar; public MyClass() { System.out.println("Constructor called"); printInstanceVar(); // 调用方法 } public void printInstanceVar() { System.out.println("Instance variable: " + instanceVar); } }
总结一下,Java 类的构造方法可以访问类变量、实例变量、其他构造方法和方法(通过调用)。