Java:什么修饰符使对象在 class 之外可读但不可写?

Java: What modifier makes the object readable outside the class, but not writable?

Java:什么修饰符使对象在 class 之外可读但不可写?并且可以在 class.

范围内更改对象

要使 public 字段成为只读字段,您可以将字段设为私有字段并为此字段设置 public getter。

public class Example {
       private  int myExample=1;
       public int getMyExample() {
              return myExample;
       }
}

对于可通过其 class 方法修改的字段,它必须是非 final。没有修饰符或修饰符组合可以在不授予写访问权的情况下授予对此类字段的读访问权。访问控制修饰符(publicprotectedprivate 或其中任何一个的缺失)一次性控制字段或方法的所有目的的可见性。他们不区分不同类型的访问。

如果您希望可修改字段可读但不可写,那么唯一的选择是在 getter 方法后面保护它,而不提供相应的 setter,正如另一个答案已经描述的那样.