Quindi ho appena trovato questo esempio di codice online qualche tempo fa e lo ripasso ma piuttosto confuso.Java - Interfaccia, creazione di istanze di un'interfaccia?
Dall'osservarlo, ciò che raccolgo (e potrebbe essere errato) è che passa al metodo di stampa nella classe NumberPrinter un oggetto Stampante. Tuttavia, l'interfaccia è anche chiamata stampante, quindi non stiamo istanziando una classe anonima dell'interfaccia della stampante, definendone i metodi e poi passandoli?
La mia domanda di base è, la mia ipotesi iniziale è corretta? E se così fosse, ho pensato che non potevi istanziare un'interfaccia?
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);
}
});
}
}
Sembra che potrebbe essere una domanda doppia. Prova ad andare qui http://stackoverflow.com/questions/4000062/can-we-create-an-object-of-an-interface – astidham2003