为什么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/

10-11 22:16