Java 인터페이스가 java.lang.Object를 암시 적으로 구현합니까? 나는이 인터페이스의 equals 메소드 구현하지 않은 경우에도Java 인터페이스는 Object를 구현합니까?
public static String[] sizeSort(String[] sa) {
Comparator<String> c = new Comparator<String>() {
public int compare(String a, String b) {
if (a.length() > b.length()) return 1;
else if (a.length() < b.length())
return -1;
else
return 0;
}
};
// more code
}
그것은 잘 작동 : 나는 이런 식으로 뭔가를했을 때
이 질문에
이 일어났다. 답변으로 문제가 해결되었습니다. 그러나 위의 경우 익명의 로컬 내부 클래스 또는 로컬 내부 클래스라는 것을 알 수 있습니까?
이름이 없으므로 익명의 내부 클래스입니다. –
아래에 좋은 답변이 있지만, 이것을 고려해보십시오.'class X {}'- 'equals'을 정의 할 필요가 없습니다. 왜? 명시 적으로 다른 클래스를 암시 적으로 확장하지 않는 * all * 클래스 선언 * * extends * Object (따라서 모든 클래스는 직접 또는 간접적으로 * extends * Object) * 인터페이스를 구현하는 익명 클래스에도 적용됩니다. –