當我們創建一個實例時,如果沒有在構造器中初始化非靜態屬性,編譯器會將數值類型數據設為0,布爾類型數據設為false,對象類型數據設為null。
也可以通過一下方式初始化:
(1)在構造方法中初始化
(2)直接給屬性默認值或調靜態方法初始化。雖然PHP不能調靜態方法初始化非靜態屬性,但是可以在構造方法中調靜態方法初始化非靜態屬性

public class Employee { protected String name; protected double salary; protected int id = assignId(); protected static int nextId = 1; protected LocalDate hireDay; public Employee(String name, double salary, String hireDay) { this.name = name; this.salary = salary; this.hireDay = LocalDate.parse(hireDay); } public Employee(String name, double salary) { this.name = name; this.salary = salary; } public String getHireDay() { return hireDay.format(DateTimeFormatter.ofPattern("y-MM-dd")); } public String getHireDay(String DayFormatter) { return hireDay.format(DateTimeFormatter.ofPattern(DayFormatter)); } public String getName() { return name; } public int getId() { return id; } protected int assignId() { return nextId++; } }