Java:变量访问说明符

Java: Variable access specifiers

在 java 中,是否有一种(直接)方法可以使变量可以从 class 中访问但不能更改?我在 class A 中有一个变量,在 class B 中需要它。我可以将其设为 public(不良做法),但我不希望 class B 成为能够改变它。有没有办法做到这一点,或者我只需要做到 public 并小心点?我还需要保持从 Class A 中更改变量的能力,排除最终。

是:您可以提供 getter。差不多就是这样,但这就是你应该做的方式。

public Type getField() {
  return field;
}

您可以使用反射来读取私有值。

public class 测试 1 {

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