Java實(shí)例域初始化方法及順序
Java實(shí)例域初始化方式
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)初始化塊:類第一次被加載時(shí)執(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實(shí)例域初始化順序
調(diào)用構(gòu)造方法的具體處理步驟:
1. 如果類是第一次被使用,先執(zhí)行靜態(tài)初始化塊
2. 所有數(shù)據(jù)域被初始化為默認(rèn)值(0、false或null)
3. 按照在類聲明中出現(xiàn)的次序,依次執(zhí)行所有域初始化語句和初始化塊。
4. 如果構(gòu)造方法調(diào)用了其他構(gòu)造方法,先執(zhí)行其他方法。
5. 最后,執(zhí)行構(gòu)造方法。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 淺談XML Schema中的elementFormDefault屬性2. 利用XMLSerializer將對象串行化到XML3. 前端從瀏覽器的渲染到性能優(yōu)化4. ASP中SELECT下拉菜單同時(shí)獲取VALUE和TEXT值的實(shí)現(xiàn)代碼5. 阿里前端開發(fā)中的規(guī)范要求6. 淺談?dòng)蓀osition屬性引申的css進(jìn)階討論7. JSP狀態(tài)管理的簡單介紹8. 三個(gè)不常見的 HTML5 實(shí)用新特性簡介9. 父div高度不能自適應(yīng)子div高度的解決方案10. 選擇模式 - XSL教程 - 2
