Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用函数从类返回变量是否比直接引用变量更有效?_Java - Fatal编程技术网

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 }