·声明类Company

1.添加属性name

2.添加构造方法Company (String name)

·覆盖类的方法 equals (Object o)

1.方法 equals 的返回值和参数与java.lang.Object必需一致

2.在方法实现中利用instanceof操作符进行类型转换时的判断，然后再进行强制类型转换，确保不出现意外。

//Company.java 用来演示如何在子类实现对父类方法的覆盖

class Company

{

private String name;

Company (String name)

{

this.name = name;

}

public boolean equals (Object o)

{

if (!(o instanceof Company))

return false;

Company c = (Company) o;

return name.equals (c.name);

}

}

class EqualityDemo

{

public static void main (String [] args)

{

Company c1 = new Company ("Sun Microsystems");

Company c2 = new Company ("Sun Microsystems");

Company c3 = new Company ("Microsoft");

System.out.println ("c1.equals (c2): " + c1.equals (c2));

System.out.println ("c1.equals (c3): " + c1.equals (c3));

}

}

·声明类 EqualityDemo

1.添加main()方法

2.在main（）方法中创建3个类的实例

3.调用Company类的 equals（）方法对对象进行比较

说明：由于仅仅重载了equals（）方法，没有重载＝＝操作符，因此，在代码中调换为＝＝操作符，观察新的程序运行输出结果。