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í)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java程序員必須知道的5個(gè)JVM命令行標(biāo)志
這篇文章主要介紹了每個(gè)Java程序員必須知道的5個(gè)JVM命令行標(biāo)志,需要的朋友可以參考下2015-03-03spring配置定時(shí)任務(wù)的幾種方式總結(jié)
這篇文章主要介紹了spring配置定時(shí)任務(wù)的幾種方式總結(jié),具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12MyBatis游標(biāo)Cursor的正確使用和百萬數(shù)據(jù)傳輸?shù)膬?nèi)存測試
這篇文章主要介紹了MyBatis游標(biāo)Cursor的正確使用和百萬數(shù)據(jù)傳輸?shù)膬?nèi)存測試,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01IDEA JetBrains Mono字體介紹和安裝教程(詳解)
這篇文章主要介紹了IDEA JetBrains Mono字體介紹和安裝教程,本給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03實(shí)例分析Java中public static void main(String args[])是什么意思
這篇文章主要介紹了實(shí)例分析Java中public static void main(String args[])的意義,詳細(xì)分析了Java主函數(shù)main關(guān)鍵字聲明的具體含義和用法,需要的朋友可以參考下2015-12-12Java中Buffer緩沖區(qū)的ByteBuffer類詳解
這篇文章主要介紹了Java中Buffer緩沖區(qū)的ByteBuffer類詳解,ByteBuffer類是Java NIO庫中的一個(gè)重要類,用于處理字節(jié)數(shù)據(jù),它提供了一種靈活的方式來讀取、寫入和操作字節(jié)數(shù)據(jù),ByteBuffer類是一個(gè)抽象類,可以通過靜態(tài)方法創(chuàng)建不同類型的ByteBuffer對象,需要的朋友可以參考下2023-10-10SpringBoot實(shí)現(xiàn)JWT token自動(dòng)續(xù)期的示例代碼
本文主要介紹了SpringBoot實(shí)現(xiàn)JWT token自動(dòng)續(xù)期的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01