是的,您是对的,它确实有效地使变量公开。但是有一个重要的区别,那就是它使您能够在以后进行更改:可以随意删除setter或将其设为私有,而不会影响使用getter从字段读取的代码。
如果只是将变量设为公开,则在不中断对该字段的读取的情况下就无法停止对该字段的写入。
它还有其他优点。例如,您可以
synchronized稍后进行访问,而不会破坏客户端代码。简而言之,它允许以后进行大量修改,否则这些修改就不会在使用该类的代码中造成大量损坏的情况下发生。
您还可以添加额外的逻辑,以便在有人写入字段或阻止某些线程写入等内容时记录日志…… 如果您的getter 将字段的类型抽象
HashMap为a
TreeMap并返回a,则可以将字段的类型从a更改为a
Map。 ..等
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)