访问私有变量的方式有:
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());
}
}
注意:使用反射访问私有变量可能会破坏封装性,不建议在正常情况下使用。