我想在Java中實現一個構造函數,我不知道我是否做錯了什麼,但是我總是得到垃圾輸出。獲取垃圾輸出Java
這是我想要的值賦給變量:
private static Employee employee;
這是我正在努力爲它分配:
employee = new Employee(empType, empFName, empLName, empBDate, empGender, empHireDate, empReleaseDate, empBaseSalary);
這裏是類的構造函數:
public class Employee {
private String Type;
private String FName;
private String LName;
private Date BDate;
private String Gender;
private Date HireDate;
private Date ReleaseDate;
private double BaseSalary;
public Employee(String type, String fname, String lname, String bdate, String gender, String hire, String release, double salary){
this.Type = type;
this.FName = fname.toUpperCase();
this.LName = lname.toUpperCase();
this.BDate = new Date(bdate);
this.Gender = gender;
this.HireDate = new Date(hire);
if (release == "null"){
this.ReleaseDate = null;
}
else if(release != "null"){
this.ReleaseDate = new Date(release);
}
this.BaseSalary = salary;
}
}
當我嘗試打印,只是爲了測試它,這是我怎樣,我打印出來:
System.out.println(employee);
這是我所得到的每一次:
[email protected]
有人能告訴我什麼,我做錯了什麼?
如果要以這種方式打印對象,則必須重寫'toString()'方法。你看到的是toString的默認輸出,即對象的類型和哈希碼。 – csmckelvey
這不是垃圾,這是對象的標識哈希碼 –
[這裏是](https://www.google.com/search?q=java+override+tostring&rlz=1C1KMZB_enUS562US562&oq=java+override+tostring&aqs=chrome..69i57j0l5。 2986j0j7&sourceid = chrome&espv = 210&es_sm = 122&ie = UTF-8)谷歌搜索你。 – csmckelvey