【发布时间】:2019-03-07 14:00:04
【问题描述】:
我一直在阅读this guide 关于内部类的内容,并遇到了这个有趣的匿名类示例。
所以,默认情况下我们不能实例化一个抽象类,例如
abstract class AnonymousInner {
public abstract void mymethod();
}
public class Outer_class {
public static void main(String args[]) {
AnonymousInner inner = new AnonymousInner();
inner.mymethod();
}
}
给出一个错误,指出我们不能实例化一个抽象类。 但是这样做很好 -
abstract class AnonymousInner {
public abstract void mymethod();
}
public class Outer_class {
public static void main(String args[]) {
AnonymousInner inner = new AnonymousInner() {
public void mymethod() {
System.out.println("This is an example of anonymous inner class");
}
};
inner.mymethod();
}
}
所以我有点迷失第二个例子的工作原理。
【问题讨论】:
-
在第二个示例中,您将实例化由提供的反义内部类定义的抽象类的 实现。
标签: java oop java-8 functional-programming anonymous-class