1. 程式人生 > >Java類中變數的初始化/賦值過程

Java類中變數的初始化/賦值過程

public class Person {
    public String name="Person";
    int age=0;
    
    {
        System.out.println("初始化塊:"+name);
        name = "initBlock";
        System.out.println("初始化塊:"+name);
    }
    
    public Person(){
        name="constrcutor";
        System.out.println("構造器:"+name);
    }
}

public class Child extends Person {

    public String grade;
    
    
    public static void main(String[] args)
    {
        Person p = new Child();
        System.out.println(p.name);
    }
}

執行結果:

初始化塊:Person
初始化塊:initBlock
構造器:constrcutor
constrcutor

總結:

1.定義變數時的賦值最先被執行 2.在初始化塊進行的賦值其次被執行 3.在構造方法中的賦值最後被執行