public class Father {
public Father(){
System.out.println("父类构造方法");
}
static {
System.out.println("父类静态代码块");
}
{
System.out.println("父类代码块");
}
public static String fatherStaticString = Field.fatherStaticFieldInit();
public String fatherString = new Field().fatherFieldInit();
public static void main(String[] args) {
Father father = new Father();
}
}
class Field{
public static String fatherStaticFieldInit(){
System.out.println("父类静态变量");
return null;
}
public static String sonStaticFieldInit(){
System.out.println("子类静态变量");
return null;
}
public String fatherFieldInit(){
System.out.println("父类成员变量");
return null;
}
public String sonFieldInit(){
System.out.println("子类成员变量");
return null;
}
}
Father类main方法的运行结果:
public class Son extends Father {
public Son(){
System.out.println("子类构造方法");
}
static {
System.out.println("子类静态代码块");
}
{
System.out.println("子类代码块");
}
public static String sonStaticString = Field.sonStaticFieldInit();
public String fatherString = new Field().sonFieldInit();
public static void main(String[] args) {
Son son = new Son();
}
}