假设我有一个班级说A是普通班级。
现在A筑巢一个B级,而B级又嵌套C.
B类是抽象类,而A,C则不是。
现在,无法为B创建任何对象,因为它是一个抽象类。
但是除非我为B类创建一个对象,否则我将无法为C类创建一个对象。 从那以后,
outerclass out=new outerclass();
outerclass.innerlcass in=outerclass.new innerclass();
由于B没有对象,因此在这种情况下,外部对象“out”不可用。
那么如何为C创建一个对象?
答案 0 :(得分:1)
一种方式:
public class A {
abstract class B {
abstract String get();
class C {
void run() {
System.out.println(get());
}
}
}
public static void main(String[] args) {
new A().new B(){ String get() { return "hi"; } }.new C().run();
}
}
或者,也可以使用与上述相同的A,B和C:
class ConcreteB extends B {
String get() {
return "I'm not anonymous!";
}
}
public static void main(String[] args) {
new A().new ConcreteB().new C().run();
}