Java innerclass也可以是子类,也可以是
innerclass也可以是子类。还有一件事,在这组java语言中,它不允许我创建子类的实例,即使我已经为innerclass创建了封装类的实例Java innerclass也可以是子类,也可以是,java,Java,innerclass也可以是子类。还有一件事,在这组java语言中,它不允许我创建子类的实例,即使我已经为innerclass创建了封装类的实例 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 Joo
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() {
}
}
}
如果您尝试它,您会发现内部类可以扩展类 此外,由于内部类不是静态的,因此在构造它时需要外部类的实例。在下面的代码中,您将看到两种方法 方法测试显示了最常见的方法,即从外部类的实例非静态方法执行,在这种情况下,外部类是隐式的 方法main显示了如何在外部类的实例方法之外执行此操作,在这种情况下,必须在新操作符之前给出外部类实例
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
}
}
既然你有98%的代码,那么当你尝试使用extends时会发生什么呢?它是一个innerclass,所以我想为继承添加extend真的有意义吗?当我向Jool添加extends时,它仍然有一个错误。那么,错误是什么呢?也要搜索此错误,并查看是否有任何结果适用-至少有一个适用。我尝试将扩展添加到公共类jool以进行继承,但它不起作用,而且如果它是innerclass,那么它的意义何在?它不是从main继承的,因为它是innerclass。嵌套类不会隐式地从包含的类继承班但是,有一些特殊的规则可以从内部类访问封闭的实例变量。这些规则并不意味着内部类“是”或“扩展”外部类。