为什么这不起作用

nmu*_*nmu -2 java variables double

static final double HotDogcp  = MyConstants.HotDog[0]-(MyConstants.HotDog[0] * MyConstants.mu);
static final double [] HotDog = {18, 8, 10, 0};
static double mu =0.25;
Run Code Online (Sandbox Code Playgroud)

为什么HotDogcp不等于13.5

ass*_*ias 5

静态变量按声明的顺序初始化.

在您的情况下,mu初始化时变量仍为0(双精度的默认值)HotDogcp,因此HotDogcp初始化为MyConstants.HotDog[0].

如果你static double mu =0.25;在第一行之前声明,它可能会做你期望的.