内部类也可以是子类吗?



内部类可以同时是子类吗?还有一件事,在这套java语言中,它不允许我创建子类的实例,即使我已经为内部类创建了一个封装类的实例。

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() { 
    }
}
}

如果你尝试一下,你会发现内部类可以扩展一个类。

此外,由于内部类不是 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
    }
}

最新更新