使用返回常量值的方法

Ahm*_*tan 5 java

我们真的需要Java中的静态最终常量吗?

假设我有以下代码:

public class Test {

    public static final int A = 1234;

    public static int getA()
    {
        return 1234;
    }
}
Run Code Online (Sandbox Code Playgroud)

您能否就效率方面比较以下两种情况?

  1. Test.A

  2. Test.getA()

das*_*ght 9

假设有一个JIT编译器,效率应该没有明显的差别 - 至少不足以使应用程序的执行速度产生显着差异.

但是,灵活性有明显的增加:在方法中封装值几乎总是好的,因为它允许您更改稍后计算值的方式.

这个规则的一个值得注意的例外是来自数学世界的纯常数:封装访问权限没有多大意义Math.PI,因为这个基本常量的值不可能发生变化,这促使需要切换方法,在程序中获取该值.