Java類中變數的初始化/賦值過程
阿新 • • 發佈:2019-02-05
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 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.在構造方法中的賦值最後被執行