Сегодня я столкнулся со сценарием, в котором я не переопределил все методы интерфейса в дочернем классе. Однако когда я попытался создать объект дочернего класса, он все равно работал нормально. Пока я предполагаю, что мы не можем создавать объекты, пока не будут устранены все ошибки компиляции.
Пожалуйста, пролите немного света на это.
Пример, который я взял.
interface Parent {
public void test();
}
class Child implements Parent {
public void print() {
System.out.println("Didn't expect to print");
}
}
Класс Child давал мне ошибку во время компиляции с просьбой переопределить методы из интерфейса. Игнорируя ошибку, когда я попытался создать объект, как показано ниже, и выполнить следующий оператор, он дал мне вывод, как показано внизу.
Child child = new Child();
child.print();
Выход:
Didn't expect to print
П.С .: Я пробовал это на Java 7
Пожалуйста, дайте мне знать, если мое базовое понимание (что объекты Java не могут быть созданы без разрешения ошибок компиляции) неверно