Реализация интерфейса в Java
Класс реализует интерфейс через ключевое слово implements
после имени типа. Имя интерфейса указывают так же, как имя
родителя при наследовании классов. Связка записывается так:
interface Greeter {
void greet();
}
class User implements Greeter {
@Override
public void greet() {
System.out.println("hello");
}
}
Каждый абстрактный метод интерфейса нужно описать в классе
и пометить @Override. Если хотя бы один обязательный
метод пропустить, компилятор сообщит об ошибке. Вызов через
тип интерфейса:
Greeter greeter = new User();
greeter.greet();
Переменная может иметь тип интерфейса, а значение - объект класса-реализации. Так код опирается на контракт, а не на конкретный класс.
Сделайте интерфейс Printer с методом printLine.
Сделайте класс ConsolePrinter, реализующий
интерфейс Printer.
Создайте объект ConsolePrinter, сохраните его
в переменную типа Printer и вызовите printLine.