package Tests;
public class T1 {
public static void main(String[] args) {
new Son();
}
}
class Father{
static {
System.out.println("Father的静态代码块被调用");
}
{
System.out.println("Father的普通代码块被调用");
}
static int fatherStaticVal = getFatherStaticVal();
int fatherVal = getFatherVal();
Father(){
System.out.println("Father的无参构造方法被调用");
}
public static int getFatherStaticVal(){
System.out.println("Father的静态属性被加载");
return 0;
}
public int getFatherVal(){
System.out.println("Father的普通属性被加载");
return 0;
}
}
class Son extends Father{
static {
System.out.println("Son的静态代码块被调用");
}
{
System.out.println("Son的普通代码块被调用");
}
static int sonStaticVal = getSonStaticVal();
int sonVal = getSonVal();
public static int getSonStaticVal(){
System.out.println("Son的静态属性被加载");
return 0;
}
public int getSonVal(){
System.out.println("Son的普通属性被加载");
return 0;
}
Son(){
System.out.println("Son的无参构造方法被调用");
}
}