-2

假设我有一个班级说 A 这是一个普通班级。

现在 A 嵌套了一个 B 类,而 B 又嵌套了 C。

B类是抽象类,而A,C则不是。

现在,不能为 B 创建对象,因为它是一个抽象类。

但是除非我为 B 类创建一个对象,否则我将无法为 C 类创建一个对象。因为,

outerclass out=new outerclass();
outerclass.innerlcass in=outerclass.new innerclass();

由于 B 没有 object ,因此在这种情况下,外部类对象“out”不可用。

那么如何为 C 创建一个对象呢?

4

1 回答 1

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();
}
于 2012-12-28T05:44:29.367 回答