您的位置:首页 > 编程语言 > Java开发

JAVA进阶3.2——Equals方法(2)

2016-09-17 14:10 363 查看
Equals方法在一般情况下都需要覆盖成自己想要的方法。而且配合多态可以实现强大的“比较”功能。可以比较类中的任何数据,可以根据自己的需求来定义两个对象是否相等的条件。

使用Equals方法时一定要重写,子类继承之后也要重写,要不然就和“==”号没啥区别了。

public class Test
{
public static void main(String[] args)
{
B b1=new B(20);
B b2=new B(20);
System.out.println(b1.equals(b2));
C c1=new C(10);
C c2=new C(10);
System.out.println(c2.equals(c1));
}
}
class B
{
private int i;
B(int i)
{
this.i=i;

}
//覆盖后的equals方法比较的不再是两个对象的内存地址,而是根据自己的需求来决定。
//本例中比较的是变量i的值,当两个对象的i都等于20,此时两个对象的比较结果返回了true。
public boolean equals(B b2)
{
if(this.i==b2.i)
return true;
else
return false;
}
}
class C extends B
{
private int j;
C(int j)
{
super(j);
this.j=j;
}
public boolean equals(B b2)
{
C c=(C)b2;
if(this.j==c.j)
return true;
else
return false;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: