父类和子类执行顺序

public class Animal {  
    static{  
        System.out.println("父类的静态方法");  
    }  
    {  
        System.out.println("执行父类的构造代码块");  
    }  
    public Animal(){  
        System.out.println("执行父类的构造方法");  
    }  
    public void A(){  
        System.out.println("执行父类的A方法");  
    }  
} 

子类:
public class Cat extends Animal{  
    static{  
        System.out.println("子类的静态方法");  
    }  
    {  
        System.out.println("执行子类的构造代码块");  
    }  
    public Cat(){  
        System.out.println("执行子类的构造方法");  
    }  
    @Override  
    public void A() {  
        System.out.println("执行子类的A方法");  
    }  
    public static void main(String[] args) {  
        Cat c = new Cat();  
        c.A();  
    }  
} 




父类的静态方法  
子类的静态方法  
执行父类的构造代码块  
执行父类的构造方法  
执行子类的构造代码块  
执行子类的构造方法  
执行子类的A方法  

  

 

 

二、分析
可以看出几个重点:
1、静态方法首先执行,先父类,后子类
2、其次,执行构造代码块和构造方法,先父类,后子类;
3、最后,执行子类的方法

posted @ 2022-08-26 14:08  11111ghm  阅读(96)  评论(0编辑  收藏  举报