訪問私有變量的方式有:
public class MyClass {
private int privateVar;
public int getPrivateVar() {
return privateVar;
}
public void setPrivateVar(int value) {
privateVar = value;
}
}
import java.lang.reflect.Field;
public class Main {
public static void main(String[] args) throws NoSuchFieldException, IllegalAccessException {
MyClass obj = new MyClass();
Field field = MyClass.class.getDeclaredField("privateVar");
field.setAccessible(true);
field.setInt(obj, 10);
System.out.println(obj.getPrivateVar());
}
}
注意:使用反射訪問私有變量可能會破壞封裝性,不建議在正常情況下使用。