Итак, мы все знаем, что все классы неявно расширяют Object. Как насчет интерфейсов? Есть ли неявный суперинтерфейс? Я говорю, что есть. Следующий код компилируется:
java.io.Serializable s1 = null;
java.io.Serializable s2 = null;
s1.equals(s2);
Метод equals
не объявлен в Serializable, но в Object. Поскольку интерфейсы могут расширять только другие интерфейсы, а Object является классом, а не интерфейсом, должен существовать некоторый неявный расширяемый интерфейс. И класс Object
должен затем неявно реализовать этот неявный интерфейс (вау, это было странно писать).
Итак, вопрос в том, насколько это правильно?