我正在尝试用Java实现一个构造函数,我不知道我做错了什么,但我不断得到垃圾输出.
这是我试图将值赋给的变量:
private static Employee employee;
Run Code Online (Sandbox Code Playgroud)
这就是我试图分配它的方式:
employee = new Employee(empType, empFName, empLName, empBDate, empGender, empHireDate, empReleaseDate, empBaseSalary);
Run Code Online (Sandbox Code Playgroud)
这是类和构造函数:
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;
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试打印时,只是为了测试它,这就是我打印它的方式:
System.out.println(employee);
Run Code Online (Sandbox Code Playgroud)
这就是我每次都得到的:
Employee@4c264dd8
Run Code Online (Sandbox Code Playgroud)
有人能告诉我我做错了什么吗?
除非您通过实现告诉它该做什么,否则Java不知道您希望如何打印对象toString().如果不这样做,它将默认Object.toString()获取对象的字符串表示形式.Object.toString()回报
getClass().getName() + '@' + Integer.toHexString(hashCode())
Run Code Online (Sandbox Code Playgroud)
这解释了你所看到的输出.
| 归档时间: |
|
| 查看次数: |
372 次 |
| 最近记录: |