内部类也可以是子类。在这组java planguage中还有一件事是它不允许我创建子类的实例,即使我已经为内部类创建了一个封装类的实例。
public class Main {
Main OpTypes[] = new Main[3];
public static void main(String[] args) {
Main c = new Main();
c.OpTypes[0] = new Division(6,3);
Jool x = new Jool();
}
public class Jool {
public Jool() {
}
}
}
答案 0 :(得分:0)
如果你试试,你会发现内部类可以扩展一个类。
此外,由于内部类是而不是 static
,因此在构造外部类时需要外部类的实例。在下面的代码中,您将看到两种方法。
方法test
显示了最常见的方法,即从外部类的实例(非静态)方法执行此操作,在这种情况下,外部类是隐式的。
方法main
显示了如何在外部类的实例方法之外执行它,在这种情况下,您必须在new
运算符之前提供外部类实例。
class MyBaseClass {
}
class Main {
public static void main(String[] args) {
Main c = new Main();
Jool x = c.new Jool(); // "c" explicitly used as outer class instance
}
public void test() {
Jool x = new Jool(); // "this" implicitly used as outer class instance
}
public class Jool extends MyBaseClass { // Inner class extends unrelated class
}
}