直接上例子
class Outer{
String str ="hello, Java world!";
{
System.out.println("0, 实例化类Outer");
}
static{
System.out.println("1, 实例化类Outer");
}
class Inner{
public void print(){
System.out.println(str);
}
}
public void print(){
new Inner().print();
}
}
public class DEMO2 {
static{
new Outer();
new Outer().print();
System.exit(1);
}
}
/**结果
1, 实例化类Outer
0, 实例化类Outer
0, 实例化类Outer
hello, Java world!
*/
这个例子展示了如何使用内部类,已静态代码块。
需要说明的是, 静态代码块在创建对象时便会调用,而且执会调用一次,而且静态代码块会优先于默认的构造方法。
而且即使没有没main方法 静态代码块也会被执行。