小例子
public class Main {
public static void main(String ar[])
{
Fruit Apple=new Fruit("Apple");
Fruit Orange=new Fruit("Orange");
Fruit bigApple=new Fruit("Apple");
System.out.println(Apple.equals(Orange));//false
System.out.println(Apple.equals(bigApple));//true
}
}
class Fruit extends Object
{
String name;
Fruit(String name)
{
this.name=name;
}
public boolean equals(Object obj)
{
if(!(obj instanceof Fruit))throw new ClassCastException("类型错误");//判断类型
Fruit f2=(Fruit)obj;//由于Object类中没有name这个成员变量,无法直接使用obj.name 所以需要转型为Fruit类
if(this.name==f2.name)return true;//若水果名相同,则为同一种水果
return false;
}
}