Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我们有两种不同的(也许更多)方法来访问x变量:
x
example.x和example.getX()
example.x
example.getX()
我认为 first 非常快,但在某些情况下我们不能使用它(例如e.getX()当我们处理窗口事件时)。
e.getX()
问题是:我应该只使用example.getX()而不是example.x到处使用,还是这些方式的组合更好?
这取决于。大多数人认为在面向对象设计中使用封装是一种很好的做法。这意味着应用程序的某些部分只能访问他们需要的属性,并且以非常可控的方式——在这种情况下,您可以使用 getter 和 setter 来保护访问和分配。
另一方面,如果您在同一类中设置字段,则可以使用点访问,只要您没有执行重要操作的智能设置器。
请注意,为了将一个类视为 Java Bean,它必须为每个字段(以及其他内容)具有公共的 setter/getter。当然,这仅适用于 Java,因此在与语言无关的上下文中考虑问题时,这并不是真正的理由。