public class Test4 {
static{
System.out.println("静态初始化块...");
}
{
System.out.println("初始化块...");
}
Test4(){
System.out.println("构造方法...");
}
/**
* @param args
*/
public static void main(String[] args) {
Test4 t = new Test4();
// TODO Auto-generated method stub
System.out.println("==test4==");
}
}
上面的程序执行的结果是:
静态初始化块...
初始化块...
构造方法...
==test4==
2. 对于继承关系的类初始化
public class Test5 {
public static String str= "父类静态变量...";
public String str2= "父类变量...";
static{
System.out.println(str);
System.out.println("父类类静态初始化块...");
}
{
System.out.println(str2);
System.out.println("父类类初始化块...");
}
Test5(){
System.out.println("父类类构造方法...");
}
}
public class Test4 extends Test5{
public static String str= "子类静态变量...";
public String str2= "子类变量...";
static{
System.out.println(str);
System.out.println("子类静态初始化块...");
}
{
System.out.println(str2);
System.out.println("子类初始化块...");
}
Test4(){
System.out.println("子类构造方法...");
}
/**
* @param args
*/
public static void main(String[] args) {
Test4 t = new Test4();
// TODO Auto-generated method stub
System.out.println("==test4==");
}
}
结果:
父类静态变量...
父类类静态初始化块...
子类静态变量...
子类静态初始化块...
父类变量...
父类类初始化块...
父类类构造方法...
子类变量...
子类初始化块...
子类构造方法...
==test4==