正如我读到的那样,每个人都说首先会执行静态块,但是当我运行一段代码时,我发现静态变量首先加载.现在这让我感到困惑,请给出正确的解释.
public class MyClass
{
static int x=show();
static
{
System.out.println("Hello Mayar");
}
public static int show()
{
System.out.println("Hello Show");
return 1;
}
public static void main(String a[])
{
System.out.println("Hello Main");
}
}
Run Code Online (Sandbox Code Playgroud)
Hello Show
Hello Mayar
Hello Main
Run Code Online (Sandbox Code Playgroud)
静态块和变量按其在java源文件中的出现顺序进行评估.
- 接下来,按文本顺序执行类的类变量初始值设定项和类的静态初始值设定项,或接口的字段初始值设定项,就好像它们是单个块一样.
| 归档时间: |
|
| 查看次数: |
489 次 |
| 最近记录: |