在Java编程语言中,我们知道我们应该在一个类中声明私有属性,然后提供getter和setter来从外部类访问或修改这些字段。我有一个问题:为什么我们不将属性声明为公共属性,然后轻松地从外部类而不是通过setter和getter来访问它们?我看不到这两种用法之间的区别。我在互联网上搜索并发现了一些参数:
当我们使用getters和setters方法时,我们可以添加一些额外的逻辑,例如验证输入数据,并且在数据无效时可能会引发异常。我同意这一点。
我们不能覆盖子类中的字段,而可以覆盖方法。我不清楚。您能给我一个例子(不是语法,而是具体上下文)吗?请参阅:https://www.quora.com/In-Java-why-make-class-variables-private-and-provide-public-getter-and-setter-methods
如果公共场所出现问题,罪魁祸首可能是 随处可见,因此为了追踪错误,您可能需要查看一下 用很多代码
我能理解这一点,但我无法给出具体的例子,公共领域会出现什么样的问题?你能举个例子吗?
谢谢