【问题标题】:Java: What modifier makes the object readable outside the class, but not writable?Java:什么修饰符使对象在类外可读但不可写?
【发布时间】:2018-06-02 10:38:35
【问题描述】:

Java:什么修饰符使对象在类外可读但不可写?并且可以在类中更改对象。

【问题讨论】:

  • 制作私有 setter 和公共 getter
  • @thatotherguy 那不是修饰符
  • 没有这样的修饰符。按照 Zamrony 的建议去做。
  • @DawoodibnKareem 好吧,这令人失望。

标签: java access-modifiers modifier


【解决方案1】:

要使公共只读字段,您可以将字段设为私有并为该字段设置公共 getter。

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

【讨论】:

  • 是的,我已经知道该怎么做,我正在寻找一个修饰符
  • AFAIK,Java 中的作用域修饰符只有privateprotectedpublic
【解决方案2】:

对于可以通过其类的方法修改的字段,它必须是非final。没有任何修饰符或修饰符组合可以授予对此类字段的读取访问权限而不授予写入访问权限。访问控制修饰符(publicprotectedprivate 或没有这些修饰符)同时控制字段或方法的可见性以用于所有目的。它们不区分不同类型的访问。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-15
    • 2018-01-02
    • 2013-08-24
    • 2012-04-19
    • 1970-01-01
    • 2019-12-28
    • 2013-04-27
    • 2013-07-15
    相关资源
    最近更新 更多