Java - interfejs, tworzenie instancji interfejsu?
Właśnie znalazłem ten przykład kodu online już jakiś czas temu i przejdę do niego jeszcze raz, ale dość zdezorientowany.
Patrząc na to, co zbieram (i może być źle), to przekazuje do metody print w klasie NumberPrinter obiekt Printer. Jednak interfejs jest również nazywany drukarką, więc nie tworzymy instancji anonimowej klasy interfejsu drukarki, definiując metody, a następnie przekazując je?
Moje podstawowe pytanie brzmi: czy moje początkowe założenie jest poprawne? A jeśli tak, pomyślałem, że nie możesz utworzyć instancji interfejsu?
<code>public class NumberPrinter { public interface Printer { public void print (int idx); } public static void print (Printer p) { for (int i = 0; i < 4; i++) { p.print(i); } } public static void main(String[] args) { print(new Printer() { @Override public void print(int idx) { System.out.println(idx); } }); } } </code>