我正在阅读Java库中的一些源代码,在这里我感到很困惑;
这段代码来自jaxb库中的Document.java,而ContentVisitor是同一个包中的接口,我们如何使用新关键字创建接口实例?这不违法吗?
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;
}
}发布于 2020-11-28 21:36:53
由于问题仍然存在,Java 8引入了lambda。我必须提一提。Lambda与AIC相比有几个优点。
但lambda和AIC的范围不同。您不能创建Lambda实例并获得对lambda本身的引用。
https://stackoverflow.com/questions/9157784
复制相似问题