请问静态代码块的执行不是要早于属性的初始化吗?
class Demo
{
public static final String NAME;
static
{
NAME="Bob";
System.out.println(NAME);
}
那么上面这段代码执行时,就会找不到符号NAME,但是运行时并没有报错并且结果正确,请问这是为何
请问静态代码块的执行不是要早于属性的初始化吗?
class Demo
{
public static final String NAME;
static
{
NAME="Bob";
System.out.println(NAME);
}
那么上面这段代码执行时,就会找不到符号NAME,但是运行时并没有报错并且结果正确,请问这是为何
没有出现你说的找不到符号NAME,这代码是合法的。输出Bob
http://ideone.com/5haJWo