将值分配给静态最终变量

cha*_*itu 4 java static

public class A{
    public static final int j;
    public static int x; 
    static{ 
         j=9; 
    }
    public A(int j)
    {
         j = j;
    }
    protected void print()
    {
           System.out.println(j);
    }
}
Run Code Online (Sandbox Code Playgroud)

当在eclipse中尝试上面的代码时,eclipse显示"对变量j的赋值没有效果"被显示用于初始化构造函数中的可变"j".

请告诉我为什么变量j没有效果.

mic*_*667 6

该参数j阴影类成员j.尝试更改您的代码,如下所示:

public A(int j)
{
     A.j = j;
}
Run Code Online (Sandbox Code Playgroud)

  • @UNECS静态成员属于该类,而不属于实例. (2认同)