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

来源:互联网 发布:sql中as的用法 编辑:程序博客网 时间:2024/05/21 17:08

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;elsereturn false;}}


0 0
原创粉丝点击