我的代码是:-
class Test
{
static int a = 11;
static
{
System.out.println("Hello static! " + main() + a);
}
public static void main(String[]args)
{
System.out.println("Hello String!");
}
public static char main()
{
System.out.println("Hello char!");
return 'H';
}
}
输出:-
Hello char!
Hello static! H11
Hello String!
为什么“你好,字符!”在“hello static!”之前打印?
最佳答案
- 静态 block 首先执行。
- 它在组装要打印的字符串时调用不带参数的 main()。
- main() 打印一些输出。
- 静态 block 打印其输出。
- 静态 block 退出。
- 您的 main(String[]) 方法执行并打印其输出。
关于java - Java中需要静态 block 输出的解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14796060/