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í)行所有域初始化語(yǔ)句和初始化塊。
4. 如果構(gòu)造方法調(diào)用了其他構(gòu)造方法,先執(zhí)行其他方法。
5. 最后,執(zhí)行構(gòu)造方法。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
java編譯時(shí)與運(yùn)行時(shí)概念與實(shí)例詳解
本篇文章通過(guò)實(shí)例對(duì) java程序編譯時(shí)與運(yùn)行時(shí)進(jìn)行了詳解,需要的朋友可以參考下2017-04-04
SWT(JFace)體驗(yàn)之圖片的動(dòng)態(tài)漸變效果
SWT(JFace)體驗(yàn)之圖片的動(dòng)態(tài)漸變效果2009-06-06
解決feign接口返回泛型設(shè)置屬性為null的問(wèn)題
這篇文章主要介紹了解決feign接口返回泛型設(shè)置屬性為null的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06
RocketMq同組消費(fèi)者如何自動(dòng)設(shè)置InstanceName
這篇文章主要介紹了RocketMq同組消費(fèi)者如何自動(dòng)設(shè)置InstanceName問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06
帶你用Java方法輕松實(shí)現(xiàn)樹(shù)的同構(gòu)
給定兩棵樹(shù)T1和T2。如果T1可以通過(guò)若干次左右孩子互換就變成T2,則我們稱兩棵樹(shù)是“同構(gòu)”的。例如圖1給出的兩棵樹(shù)就是同構(gòu)的,因?yàn)槲覀儼哑渲幸豢脴?shù)的結(jié)點(diǎn)A、B、G的左右孩子互換后,就得到另外一棵樹(shù)2021-06-06
springboot 緩存@EnableCaching實(shí)例
這篇文章主要介紹了springboot 緩存@EnableCaching實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11

