Java實例域初始化方法及順序
Java實例域初始化方式
1.構(gòu)造器
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; //靜態(tài)初始化塊:類第一次被加載時執(zhí)行 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實例域初始化順序
調(diào)用構(gòu)造方法的具體處理步驟:
1. 如果類是第一次被使用,先執(zhí)行靜態(tài)初始化塊
2. 所有數(shù)據(jù)域被初始化為默認值(0、false或null)
3. 按照在類聲明中出現(xiàn)的次序,依次執(zhí)行所有域初始化語句和初始化塊。
4. 如果構(gòu)造方法調(diào)用了其他構(gòu)造方法,先執(zhí)行其他方法。
5. 最后,執(zhí)行構(gòu)造方法。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章: