可以通过继承来实现两个对象的比较。首先,创建一个祖先类,然后两个对象继承此祖先类,并在后代类中重写equals方法进行比较。代码示例如下:
public class Ancestor { // 祖先类的属性和方法 }
public class DescendantA extends Ancestor { // 后代A类的属性和方法 @Override public boolean equals(Object obj) { // 进行后代A类对象比较的逻辑代码 } }
public class DescendantB extends Ancestor { // 后代B类的属性和方法 @Override public boolean equals(Object obj) { // 进行后代B类对象比较的逻辑代码 } }
现在,可以使用equals方法比较两个后代类的对象,因为它们都继承自Ancestor类,而且都重写了equals方法。如下所示:
DescendantA obj1 = new DescendantA(); DescendantA obj2 = new DescendantA(); DescendantB obj3 = new DescendantB(); DescendantB obj4 = new DescendantB();
// 比较obj1和obj2,应该返回true if (obj1.equals(obj2)) { System.out.println("obj1 and obj2 are equal."); }
// 比较obj3和obj4,应该返回true if (obj3.equals(obj4)) { System.out.println("obj3 and obj4 are equal."); }
// 比较obj1和obj3,应该返回false if (obj1.equals(obj3)) { System.out.println("obj1 and obj3 are equal."); }