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

通过多态从主类调用 toString

通过多态从主类调用 toString

炎炎设计 2021-12-22 16:12:28
我有一个称为通用类的算法Employee和一些继承自Employee以下的特定类:abstract class Employee {    private String name;    private String document;    public String toString(){         return "\nName and Document";    }}class Driver extends Employee {    private String licencePlate;    public String toString(){        return "Plate: XXXXX";    }}class TelOperator extends Employee {    private String phone;    public String toString(){        return "Phone: XXX - XXXXXX";    } }class Ideone{    public static void main (String[] args) throws java.lang.Exception    {        TelOperator telOp = new TelOperator();        System.out.println(telOp);        Driver driver = new Driver();        System.out.println(driver);    }}我正在寻找某种方法来避免分别调用每个对象,并toString从主类中执行该方法,并toString从从它继承的特定类中执行该方法。我的输出将是这样的://司机姓名和文件板块:XXXXX//话务员姓名和文件电话:XXX - XXXX您可以在此处查看源代码。
查看完整描述

3 回答

?
慕的地10843

TA贡献1785条经验 获得超8个赞

只需super.toString()在您的子类的toString()方法中添加调用:-


public String toString() {

    return super.toString() + "\nPhone: XXX - XXXXXX";

}


查看完整回答
反对 回复 2021-12-22
?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

您可以为员工创建一个 Factory 类,然后由工厂决定应将哪个子类返回给调用程序。然后它创建该子类的一个实例,然后将其返回给调用程序。

希望我正确理解了你的问题。


查看完整回答
反对 回复 2021-12-22
?
www说

TA贡献1775条经验 获得超8个赞

如果您想同时打印出两个子类,则必须创建子类的对象并在主类的 toString 中调用它们的 toString。希望我能正确理解你的问题。


查看完整回答
反对 回复 2021-12-22
  • 3 回答
  • 0 关注
  • 140 浏览
慕课专栏
更多

添加回答

举报

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