Estaba leyendo un código fuente de las bibliotecas de Java, y estoy confundido aquí;Java: Interfaz con nueva palabra clave ¿cómo es posible?
Este código es de Document.java en la biblioteca jaxb, y ContentVisitor es una interfaz en el mismo paquete, ¿cómo podemos crear una instancia de interfaz con una palabra clave nueva? ¿No es eso ilegal?
public final class Document {
.
.
private final ContentVisitor visitor = new ContentVisitor() {
public void onStartDocument() {
throw new IllegalStateException();
}
public void onEndDocument() {
out.endDocument();
}
public void onEndTag() {
out.endTag();
inscopeNamespace.popContext();
activeNamespaces = null;
}
}
Acabas de descubrir, probablemente, una de las funciones más potentes del lenguaje de programación Java. – Mersenne