为什么object1等于方法的调用实例而不是声明对象类型
我在下面写代码。与EQUAL object
混淆
public class TestEqual {
@Override
public boolean equals(Object obj) {
return true;
}
public static void main(String[] args) {
TestEqual test1=new TestEqual();
TestEqual test2=new TestEqual();
if(test1.equals(test2))
{
System.out.println("EQUAL");
}
Object object1=new TestEqual();
Object object2=new TestEqual();
if(object1.equals(object2))
{
System.out.println("EQUAL object");
}
}
}
输出:
EQUAL
EQUAL object
最佳答案
这是正确的行为,以及继承的工作方式。要了解有关其工作原理的更多信息,请阅读http://docs.oracle.com/javase/tutorial/java/IandI/override.html
关于java - 为什么object1等于方法的调用实例而不是声明对象类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20185436/