小編這次要給大家分享的是Java實例域初始化方式和順序,文章內容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。
Java實例域初始化方式
1.構造器
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;
//靜態初始化塊:類第一次被加載時執行
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實例域初始化順序
調用構造方法的具體處理步驟:
1. 如果類是第一次被使用,先執行靜態初始化塊
2. 所有數據域被初始化為默認值(0、false或null)
3. 按照在類聲明中出現的次序,依次執行所有域初始化語句和初始化塊。
4. 如果構造方法調用了其他構造方法,先執行其他方法。
5. 最后,執行構造方法。
看完這篇關于Java實例域初始化方式和順序的文章,如果覺得文章內容寫得不錯的話,可以把它分享出去給更多人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。