在java中,是否有(直接)方法使变量能够从类中访问但不能被更改?我在A类中有一个变量,在B类中需要它。我可以将它公开(糟糕的练习),但我不希望B类能够改变它。有没有办法做到这一点,还是我必须公开并小心?此外,我需要保持从A类中更改变量的能力,排除最终结果。
答案 0 :(得分:2)
是的:你可以提供一个吸气剂。这就是它,但这就是你所谓的方式。
public Type getField() {
return field;
}
答案 1 :(得分:1)
您可以使用反射来读取私有值。
公共类Test1 {
private int num;
public Test1(int n){
this.num =n;
}
}
访问私人变量
Field classField = Test1.class.
getDeclaredField("num");
classField.setAccessible(true);
classField.getInt(t);
System.out.println(classField.getInt(t));