我想在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