为了账号安全,请及时绑定邮箱和手机立即绑定

当我运行代码时,toString 方法没有显示任何内容

当我运行代码时,toString 方法没有显示任何内容

繁星coding 2023-11-01 17:10:40
toString当我运行代码时,方法没有显示任何内容:public abstract class Employee {    private String firstName, lastname, socialSecurityNumber; Employee(){    System.out.println("Employee Constructor called");    firstName="Tony";    lastname="Stark";    socialSecurityNumber="3000";}    public String getFirstName(){        System.out.println(firstName);        return firstName;    }    public String getLastname(){        return lastname;    }    public String getSocialSecurityNumber(){        return socialSecurityNumber;    }    public String toString(){     getSocialSecurityNumber();     getLastname();     getFirstName();        return null;    }}//Main method:public void ComissionEmployeeTest(){    Employee checkFirstly=new ComissionEmloyee();checkFirstly.toString();}
查看完整描述

3 回答

?
紫衣仙女

TA贡献1839条经验 获得超15个赞

你的 toString 方法应该是


public String toString(){


 return getSocialSecurityNumber()+

 getLastname()+

 getFirstName();


}

你应该打印相同的内容来查看值


System.out.println(checkFirstly);


查看完整回答
反对 回复 2023-11-01
?
DIEA

TA贡献1820条经验 获得超2个赞

你调用该toString();方法时,你总是会得到null回报。按照你的方法,做System.out.println(e.toString());总是和做一样的System.out.println(null);。因此,您需要返回由变量连接而成的字符串。例如:


修改 toString 方法,如下所示:


public String toString(){

    //You can customize this as you wish

    return "SN: " + getSocialSecurityNumber() + " Last name: " etLastname() + " First name: " +getFirstName();


}

并这样称呼它:


Employee e = new Employee();

System.out.println(e.toString());

编辑


我看到你在firstName getter上有一个输出,所以这样做new Empoyee().toString();至少应该输出一些东西。


查看完整回答
反对 回复 2023-11-01
?
慕姐4208626

TA贡献1852条经验 获得超7个赞

您的 toString() 返回 null。您需要返回一个字符串。


例子


public String toString(){

  return String.format("ssn %s firstname %s lastname %s",getSocialSecurityNumber() + getLastname() + getFirstName());

}


查看完整回答
反对 回复 2023-11-01
  • 3 回答
  • 0 关注
  • 61 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信