我有一个名为Block的类,其中有一个名为inUse的简单布尔值。例如,在程序中其他地方的if语句中,最好使用一个名为inUse()的方法,该方法返回inUse布尔值或仅使用block.inUse引用该变量
e.g。
if(block.inUse == true) // do something
或者我应该使用
if(block.inUse()) //do something
其中inUse()将是块类
中的简单返回方法boolean inUse() {
return inUse }
由于
答案 0 :(得分:2)
鉴于Java通常使用字节码解释器实现,因此在这个级别上的效率问题通常是没有意义的,因为解释器强加的开销成本会让你活着,没有盐或烧烤酱。
与授予对实例变量的访问权限相比,使用方法的优点是它允许程序员控制实例变量的修改。
答案 1 :(得分:0)
直接使用该值肯定是更有效的执行。但使用方法是最好的选择。这就是OO和Java的全部内容,变量的封装。
答案 2 :(得分:0)
取决于你的jre,它是JIT实现。许多JIT编译器在经常被调用后最终会编写简单的getter和setter。
我个人从未通过方法引用成员变量。我意识到这是个人偏好的问题,但我的一般感觉是一个对象不应该调用一个方法来获取(或设置)它自己的内部变量。