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

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 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。嵌套类不会隐式地从包含的类继承班但是,有一些特殊的规则可以从内部类访问封闭的实例变量。这些规则并不意味着内部类“是”或“扩展”外部类。