Назад к вопросам
JuniorТеорияЧасто
Что произойдёт при компиляции и запуске программы?
public class Main {
public static void main(String[] args) {
Machine r = new Robot();
r.start();
r.stop();
System.out.println("end");
}
}
interface Machine { void start(); void stop(); }
class Robot implements Machine {
public void start() { System.out.print("go "); }
}Не скомпилируется
- Ждать
go end: Java не добавляет пустой метод, поэтому класс, реализующий интерфейс, обязан написать каждый его метод, иначе программа не скомпилируется. - Ждать ошибку только при вызове
stop: компилятор сначала проверяет весь класс, поэтому программа не запускается и ничего не печатает.
- Как классу оставить метод интерфейса своим наследникам?
- Почему метод, реализующий
start, нужно объявитьpublic?