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

