Java 使用函数从类返回变量是否比直接引用变量更有效?
可能重复:Java 使用函数从类返回变量是否比直接引用变量更有效?,java,Java,可能重复: 我有一个叫做Block的类,里面有一个简单的布尔值,叫做inUse。例如,在程序其他地方的if语句中,最好使用名为inUse()的方法返回inUse布尔值,还是仅使用block.inUse引用变量 e、 g 或者我应该使用 if(block.inUse()) //do something 其中inUse()是block类中的一个简单返回方法 boolean inUse() { return inUse } 谢谢直接使用该值肯定会提高执行效率。但使用方法是最好的选择。这就是
我有一个叫做Block的类,里面有一个简单的布尔值,叫做inUse。例如,在程序其他地方的if语句中,最好使用名为inUse()的方法返回inUse布尔值,还是仅使用block.inUse引用变量 e、 g 或者我应该使用
if(block.inUse()) //do something
其中inUse()是block类中的一个简单返回方法
boolean inUse() {
return inUse }
谢谢直接使用该值肯定会提高执行效率。但使用方法是最好的选择。这就是OO和Java的全部内容,变量的封装 考虑到Java通常是用字节码解释器实现的,这个级别的效率问题通常是没有意义的,因为解释器强加的开销会让你生不如死,没有盐也没有烤肉酱
与授予对实例变量的访问权相比,使用方法的优势在于,它允许程序员控制对实例变量的修改。取决于您的jre及其JIT实现。许多JIT编译器一旦被频繁调用,就会内联简单的getter和setter 我个人从来没有通过方法引用过成员变量。我意识到这是个人偏好的问题,但我的总体感觉是对象不需要调用方法来获取(或设置)它自己的内部变量 实际上,OO(以及在此之前很久的信息隐藏)是关于隐藏在不更改接口的情况下可能更改的实现细节。阅读Parnas的“关于将系统分解为模块所使用的标准”(例如)。
boolean inUse() {
return inUse }