Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么我们需要为公共字段添加属性?_Java_Encapsulation - Fatal编程技术网

Java 为什么我们需要为公共字段添加属性?

Java 为什么我们需要为公共字段添加属性?,java,encapsulation,Java,Encapsulation,今天我对封装感兴趣,对此我有一个基本问题。我理解为什么需要为私有字段添加setter和getter方法。但我看到为public int编写,字符串是其他的setter和getter。为什么我们需要为公共字段添加属性?我已经可以从任何地方访问公共变量。你怎么能用塞特和盖特控制我?谢谢…正如@Ankit所说。你不需要二传手和传接手。这只是控制行为的更好方法。例如如果你想得到一个字符串,但你注意到有时候你会在末尾得到一个尾随空格。然后可以修改getter以执行返回string.trim()。没有办法访

今天我对封装感兴趣,对此我有一个基本问题。我理解为什么需要为私有字段添加setter和getter方法。但我看到为public int编写,字符串是其他的setter和getter。为什么我们需要为公共字段添加属性?我已经可以从任何地方访问公共变量。你怎么能用塞特和盖特控制我?谢谢…

正如@Ankit所说。你不需要二传手和传接手。这只是控制行为的更好方法。例如如果你想得到一个字符串,但你注意到有时候你会在末尾得到一个尾随空格。然后可以修改getter以执行
返回string.trim()
。没有办法访问公共变量

不需要公共变量的getter和setter。谢谢您的评论。主要事件是优先级。例如,我是一个程序员,我写了一个类。我的类有一个带有属性的公共int-id字段,我将我的类发送给我的其他程序员。他可以直接更改id字段。我的二传手去哪了?财产是不必要的吗?正确的?