Java:变量访问说明符

时间:2016-02-12 03:07:34

标签: java class variables private public

在java中,是否有(直接)方法使变量能够从类中访问但不能被更改?我在A类中有一个变量,在B类中需要它。我可以将它公开(糟糕的练习),但我不希望B类能够改变它。有没有办法做到这一点,还是我必须公开并小心?此外,我需要保持从A类中更改变量的能力,排除最终结果。

2 个答案:

答案 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));