您好,登錄后才能下訂單哦!
小編這次要給大家分享的是Java實例域初始化方式和順序,文章內容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。
Java實例域初始化方式
1.構造器
public class Employee { private String name; private String gender; private int age; private double salary; public Employee() { this.salary = 1000.0; } public Employee(String name, String gender, int age, double salary) { this.name = name; this.gender = gender; this.age = age; this.salary = salary; } }
2.域聲明
public class Employee { private String name; private String gender; private int age; private double salary = 1000.0; public Employee() { } public Employee(String name, String gender, int age, double salary) { this.name = name; this.gender = gender; this.age = age; this.salary = salary; } }
3.初始化塊(initialization block)
public class Employee { private String name; private String gender; private int age; private double salary; private static String test; //靜態初始化塊:類第一次被加載時執行 static { System.out.println("類加載"); test = "hello world!" } //初始化塊 { name = "xiao"; gender = "m"; age = 20; salary = 1000.0; System.out.println("初始化"); } @Override public String toString() { return "Employee{" + "name='" + name + '\'' + ", gender='" + gender + '\'' + ", age=" + age + ", salary=" + salary + '}'; } public static void main(String[] args) { Employee employee = new Employee(); System.out.println(employee.toString()); } }
初始化
Employee{name='xiao', gender='m', age=20, salary=1000.0}
Process finished with exit code 0
Java實例域初始化順序
調用構造方法的具體處理步驟:
1. 如果類是第一次被使用,先執行靜態初始化塊
2. 所有數據域被初始化為默認值(0、false或null)
3. 按照在類聲明中出現的次序,依次執行所有域初始化語句和初始化塊。
4. 如果構造方法調用了其他構造方法,先執行其他方法。
5. 最后,執行構造方法。
看完這篇關于Java實例域初始化方式和順序的文章,如果覺得文章內容寫得不錯的話,可以把它分享出去給更多人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。