问题
Java程序中测试两个变量是否相等有两种方式:一种是利用==运算符,另一种是利用equals。
当使用==比较两个引用变量时,它们必须指向同一个对象,==判断才会返回true。
equals方法是Object类提供的一个实例方法,因此所有引用变量都可以调用该方法来判断是否与其它引用变量相等。但使用这个方法判断两个对象相等的标准与使用==运算符没有区别,同样要求两个引用变量指向同一个对象才会返回true。因此这个Object类提供的equals方法没有太大的实际意义,如果希望采用自定义的相等标准,则可以采用重写equals方法。
本案例要求在Cell类中重写equals方法,两个Cell引用变量相等的条件是行行相等,列列相等。
方案
首先,在上一案例的基础上,在Cell类中覆盖equals方法,两个Cell引用变量相等的条件是行行相等,列列相等
然后,测试equals方法是否覆盖生效。首先,在类TestCell中添加测试方法testEquals,然后,创建cell1对象和cell2对象,代码如下:
Cell cell1=new Cell(6,3);
Cel