Java 类变量:公共访问只读,但私有访问r/w
在我当前的项目中,我有一个将其实例存储在变量中的类。这个实例应该可以被项目中的所有其他类访问,但是它只能被自己的类修改Java 类变量:公共访问只读,但私有访问r/w,java,class-variables,Java,Class Variables,在我当前的项目中,我有一个将其实例存储在变量中的类。这个实例应该可以被项目中的所有其他类访问,但是它只能被自己的类修改 我怎样才能做到这一点 写一个publicgetter,但不写publicsetter。而字段本身private简言之,称为不可变对象,对象的状态在构造后不能改变 String是不可变类的常见示例 通过以下操作使一个类不可变- 确保类不能被覆盖-使类成为最终类,或使用 静态工厂,并保持构造函数私有 使字段私有和最终 强制调用方在单个步骤中完全构造对象, 而不是将无参数构造函数与
我怎样才能做到这一点 写一个
public
getter,但不写public
setter。而字段本身private
简言之,称为不可变对象
,对象
的状态在构造后不能改变
String
是不可变类的常见示例
通过以下操作使一个类
不可变
-
- 确保类不能被覆盖
-使类成为最终类,或使用
静态
工厂,并保持构造函数私有
私有
和最终
无参数构造函数
与后续
调用setXXX
方法setXXX
方法,还有任何可以更改的方法
陈述在许多地方都可以找到用于实例化单例的样板代码,例如 <>请注意,许多人认为单身是一种反模式,因为一旦你的应用程序中到处都是对单身人士的引用,就很难摆脱。
有人建议“公共吸气者,而不是私人领域的公共设定者”。
警告:仅当字段为基元类型时,此选项才有效。
如果是具有setter的对象,则仍然可以修改内容;因此不是只读的
…}并且字段的类型必须是不可变的。如果字段的类型不是不可变的,则始终可以返回字段的深度副本,而不是对其自身的引用,以确保其他人无法修改该字段。“其实例”是什么意思?这个类只有一个实例吗?(单身汉)是的,这就是我的意思。