class one {
public one(){
System.out.println("父类无参构造方法");
}
static{
System.out.println("父类静态代码块");
}
{
System.out.println("父类非静态代码块");
}
public void teo(){
System.out.println("父类普通方法");
}
}
public class two extends one {
public two(){
System.out.println("子类无参构造方法");
}
static{
System.out.println("子类静态代码块");
}
{
System.out.println("子类非静态代码块");
}
public void two1(){
System.out.println("子类普通方法");
}
public static void main(String[] args) {
new two();
}
}
结果:
父类静态代码块
子类静态代码块
父类非静态代码块
父类无参构造方法
子类非静态代码块
子类无参构造方法
结论:可以看见new一个对象时,父类和子类的调用顺序。普通方法只能用创建好的对象调用不会在初始化对象的时候被调用。