获取垃圾输出Java

P M*_*P M 0 java

我正在尝试用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)

有人能告诉我我做错了什么吗?

use*_*ica 6

除非您通过实现告诉它该做什么,否则Java不知道您希望如何打印对象toString().如果不这样做,它将默认Object.toString()获取对象的字符串表示形式.Object.toString()回报

getClass().getName() + '@' + Integer.toHexString(hashCode())
Run Code Online (Sandbox Code Playgroud)

这解释了你所看到的输出.