java - 获取游戏中对象的位置

标签 java getter-setter

我最近开始制作简单的 2D 游戏,遇到了一个难题 - 是否对对象的 x 和 y 位置使用 getter 和 setter 方法。如果我不使用方法,而是直接访问变量,它看起来会更清楚,而且,对对象的许多方法调用会损害性能。获取和设置位置也很简单,所以这里真的不需要封装吗?还是我们应该始终坚持 getter 和 setter 方法的约定?

最佳答案

坚持惯例总是好的。此外,JIT 将简化操作,以便直接访问字段,而不是遍历所有方法堆栈。

这叫做方法内联。


The Java 2 release of the Java VM automatically inlines simple methods at runtime. In an un-optimized Java VM, every time a new method is called, a new stack frame is created. The creation of a new stack frame requires additional resources as well as some re-mapping of the stack, the end result is that creating new stack frames incurs a small overhead.

Method inlining increases performance by reducing the number of method calls your program makes. The Java VM inlining code inlines methods that return constants or only access internal fields.


资源:

关于同一主题:

关于java - 获取游戏中对象的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3690842/

相关文章:

c++ - setField() 中的类更改未保留

objective-c - Objective-C 中的 @property 和 @synthesize 与 Ruby 编程语言中的 attr_accessible 相同吗?

java - 适配器值未从其他 Activity 更新

java - FindBugs EI_EXPOSE_REP 错误是否只涉及日期?

java - JSP从servlet获取参数

java - JGraph/JGraphX : Creating a very complex graph

java - 如何修改spring data jpa默认查询和删除?

java - BufferedImage 和像素数组 TheCherno

ios - 在 Swift 中修改 getter 而不修改 setter

java - 提交时出现编译错误 - UVA