在我继续提问之前,在我的所有搜索中,我似乎无法找到这个,所以如果它是一个骗局我很抱歉。现在回答问题:
是否有一个修饰符可以使变量可见但在其类之外不可修改而不改变它在其类中的可修改?所以基本上对于其他类来说它是public final
但是它所在的类只是public
。我找到了this和this,但两个人都没有回答我的问题。
再次,对不起,如果这是一个重复的问题并提前感谢。
答案 0 :(得分:1)
是否有一个修饰符可以使变量可见但在类
之外不可修改
将其设为私有,并仅公开其他类访问的getter方法。如果它是公开的那么你不能阻止它由其他类可修改。如果一个类可以访问它,那么它也可以修改它。
尽量避免对实例变量使用公共修改。始终使用公共getter& amp; setter方法,为您提供更多控制。
例如在setter方法中,您可以检查传递值的有效性。
只允许使用两个访问修饰符,public和no modifier
允许所有四个公共,私人,受保护和无修改者。
为了更好地理解,成员级访问被制定为表格:
答案 1 :(得分:0)
没有这样的修饰符,但如果你想实现这个,还有另一种解决方法。
将您的变量设为私有。
编写公共getter方法以在类外部访问它。它将允许外界阅读它。
不要为此设置setter,它会使它只读。
然而,在课堂上它可以随时更改