猿问

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

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();


}


繁星coding
浏览 151回答 3
3回答

紫衣仙女

你的 toString 方法应该是public String toString(){ return getSocialSecurityNumber()+ getLastname()+ getFirstName();}你应该打印相同的内容来查看值System.out.println(checkFirstly);

DIEA

你调用该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();至少应该输出一些东西。

慕姐4208626

您的 toString() 返回 null。您需要返回一个字符串。例子public String toString(){  return String.format("ssn %s firstname %s lastname %s",getSocialSecurityNumber() + getLastname() + getFirstName());}
随时随地看视频慕课网APP

相关分类

Java
我要回答