java對象屬性的初始值


當我們創建一個實例時,如果沒有在構造器中初始化非靜態屬性,編譯器會將數值類型數據設為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++;
    }
}
View Code

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM