Java Generics: nicht-statische variable vom Typ T wird verwiesen werden kann nicht aus einem statischen Kontext
interface A<T> {
interface B {
//Results in non-static type variable T cannot
//be referenced from a static context
T foo();
}
}
Ist es überhaupt um das? Warum ist T als statisch gesehen, wenn ein Verweis auf die von A. B?
- Verwandte: stackoverflow.com/a/74400/697449
Du musst angemeldet sein, um einen Kommentar abzugeben.
Element alle Felder einer Schnittstelle sind standardmäßig
public
,static
undfinal
.Da die innere Schnittstelle ist
static
standardmäßig, Sie können nicht beziehen sich aufT
aus statischen Felder oder Methoden.Weil
T
ist tatsächlich im Zusammenhang mit einer Instanz einer Klasse, wenn es in Verbindung mit einem statischen Feld oder eine Methode ist, die verbunden mit der Klasse dann würde es keinen Sinn machen,public static final
aber das hat zu tun mit dem interface Methoden, die implizitpublic abstract
. Die Tatsache, dass die innere interfaces sind implizitstatic
selbst ist, was wichtig ist.Wie wäre es mit etwas wie dieses.