public boolean equals(Object obj) {
    if(obj instanceof Name) {
      Name name = (Name) obj;
      return (firstName.equals(name.firstName)) && (lastName.equals(name.lastName));
    }
    return super.equals(obj);
  }object类的equals方法 不是静态的啊 
为什么可以用 super.equals(obj)调用 
   初学者求解... 

解决方案 »

  1.   

    那么你的意思是在是在一个静态的上下文中能中super?搞反了哦
      

  2.   

    super.equals就是指调用父类equals方法,不需要静态啊 
      

  3.   

    super.equals()是原来的equals方法
      

  4.   

    super.equals()调用的是父类的equals方法,不需要是静态的
      

  5.   

    楼主你不会认为super是个类吧。
    super引用的是本身类的父类对象。它可不是一个类名哟。
    唉,不知怎么解释了,是不是我低估楼主了......
      

  6.   

    super.equals()是调用父类的equals()方法,就相当于super()默认调用父类的构造函数一样
      

  7.   

    你在哪里看的equals()
    我的是这样
    public boolean equals(Object anObject) {
    if (this == anObject) {
        return true;
    }
    if (anObject instanceof String) {
        String anotherString = (String)anObject;
        int n = count;
        if (n == anotherString.count) {
    char v1[] = value;
    char v2[] = anotherString.value;
    int i = offset;
    int j = anotherString.offset;
    while (n-- != 0) {
        if (v1[i++] != v2[j++])
    return false;
    }
    return true;
        }
    }
    return false;
        }