同楼上,所有的类都是基础超类Object的。接口也不例外,超类Object中已经有equal方法了

解决方案 »

  1.   

    Object类当中定义了equals方法,而且比较的是两个对象的内存地址:    public boolean equals(Object obj) {
            return (this == obj);
        }所有的类都会继承Object,从而继承到equals方法。
    下面的代码证实了这一点,而且MyComare的继承来的equals方法比较的是地址:import java.util.Comparator;interface MyComparator {
        int compare(Object o1, Object o2);
        boolean equals(Object obj);
    }
    public class MyCompare implements MyComparator{
        @Override
        public int compare(Object o1, Object o2) {
            return 0;
        }    public static void main(String[] args){
    MyCompare mc = new MyCompare();
    MyCompare md = mc;
    System.out.println(mc.equals(md));
    }
    }
      

  2.   

    你把equals改成别的名字就会让你重写了
      

  3.   

    所有的类都是继承根基类Object 的 所以此时相当于对接口里面的方法重写了,所以就不会报错了