java中代码块的执行顺序

执行顺序:父类静态代码块>子类静态代码块>父类构造块>父类构造方法>子类构造块>子类构造方法

注意:静态代码块只执行一次,并且是在main之前执行

​
//构造块就是非静态代码块
//执行顺序:父类静态代码块(只执行一次,并且是在main之前执行)>子类静态代码块>父类构造块>父类构造方法>子类构造块>子类构造方法
class   Person2
{
    public   int  age;
    public  String name;
    public   int an;
    //构造方法
    public  Person2(int age,String name)
    {
        this.name=name;
        this.age=age;
        System.out.println("父类构造方法");
    }
    //静态代码块
    static {
        System.out.println("父类静态代码块");
    }
    //构造快
    {
        System.out.println("父类构造块");
    }
    //普通方法
    public  void  Info()
    {
        System.out.println("姓名:"+this.name+"\t"+"年龄:"+this.age+"\t"+"未知:"+an);
    }
}
class  Students   extends  Person2{

    public Students()
    {
        super(12,"nihao");
        System.out.println("子类的构造方法");
    }
    {
        System.out.println("子类构造块");
    }
    static
    {
        System.out.println("子类静态代码块");
    }
}


public class 代码块 {
    public static void main(String[] args) {
        Students s=new  Students();
        s.Info();
        int n=s.an;
        System.out.println(n);
    }
}

​

结果:

猜你喜欢

转载自blog.csdn.net/qq_40408443/article/details/121403280