我知道静态代码只会在类被加载的时候执行一次,对这句话我不是很理解;请看看下面的代码:public class StaticCode
{
StaticCode(int num)
{
this.num=num;
}
static
{
StaticCode code=new StaticCode(3);//请注意这一行!!!!!!!
System.out.println("Static !");
}
int num;
public static void main(String[]args)
{
System.out.println();
}
}
执行的结果是打印出来三行:Static!
我不是很解,这3行是怎么来的?
{
StaticCode(int num)
{
this.num=num;
}
static
{
StaticCode code=new StaticCode(3);//请注意这一行!!!!!!!
System.out.println("Static !");
}
int num;
public static void main(String[]args)
{
System.out.println();
}
}
执行的结果是打印出来三行:Static!
我不是很解,这3行是怎么来的?
和一空行
static是加载类时执行static代码块
空行是你在main方法中打印的
先加载类,所以先打印static后打印空行
StaticCode(int num)
{
this.num=num;
}
static
{
StaticCode code=new StaticCode(3);//请注意这一行!!!!!!!
System.out.println("Static !");
}
int num;
public static void main(String[]args)
{
System.out.println();
}
}你的代码我改了一下,把前面的那个public 给删了以后才能正常运行。
可能是我们用的JDK不一样吧!
结是打印出来一个static 再出来一个空行