如何覆盖?

时间:2013-08-06 21:27:29

标签: java override

package wr3;

public class Person {
    private String name;
    private String id;
    private String bday;
    private String address;

    public String getName(){
        return name;
    }

    public String getID(){
        return id;
    }

    public String getBday(){
        return bday;
    }

    public String getAdd(){
        return address;
    }


    public void equals(){
        super.equals(id);
    }
    @Override
    public String toString(){
        return(name + bday + id + address);
    }
}

package wr3;

public class Test {
    public static void main(String[] args){
        String name = "Claude Rhay Torre";
        String name2 = "Bea Señerpida";
        String id = "10302993";
        String id2 = "11102825";   
        String bday = "06/201993";
        String bday2 = "11/17/1994";
        String address = "BF Better Living Basak LLC";
        String address2 = "F Martyr St Poblacion LLC";
        boolean eq;

        System.out.println(name.toString());
        System.out.println(id.toString());
        System.out.println(bday.toString());
        System.out.println(address.toString());
        System.out.println();

        System.out.println(name2.toString());
        System.out.println(id2.toString());
        System.out.println(bday2.toString());
        System.out.println(address2.toString());


        eq = id.equals(id2);
        System.out.println("\nDo they have the same ID number? " + eq );

    }
}

所以我有这个代码。 我也有这个问题。

  • 甲。对象类
    1. 研究java.lang包中的Object类。
    2. 了解其所有方法。
    3. 创建具有要求的Person类:
       一个。实施封装
       湾字段是:名称,ID(标识号),生日和     地址。
       C。一种覆盖Object类的equals()方法的方法。     如果他们有相同的身份,则两个人是平等的  d。一种将覆盖Object的toString()方法的方法     类。它显示人员的ID,姓名,生日和地址     宾语。
    4. 创建一个测试类来创建Person对象并适当地调用equals()和toString()方法。

我的问题是,这两个课程是否相关? 我的意思是,我的测试类中调用的“toString”和“equal”方法是我 Person's class 中的方法吗?或者是Object类上的“toString”和“equal”方法?

如何覆盖Object类中的 equals toString 类?

1 个答案:

答案 0 :(得分:0)

从其他类继承方法时(例如public String toString()中的Object),您只需在类中定义自己的public String toString()即可覆盖它。您实际上已在代码中执行了此操作,并且已成功覆盖toString()的所有实例{。}}。

您没有看到预期结果的原因是您调用的PersontoString()方法来自equals()课程,而不是String课程}类。这是因为你在Person个对象上调用它们,而不是String个对象 - 并且这两个类在层次上并不相关(除了它们共同的Person祖先)。

您的Object可能是这样的,而不是:

Test