gpt4 book ai didi

java - 实例化静态嵌套类

转载 作者:行者123 更新时间:2023-11-30 08:06:27 25 4
gpt4 key购买 nike

这门课

public class Main {

public static void main(String[] args) {
Main m = new Main();
m.new A();
m.new B(); //1 - compilation error

new Main.B();
}

class A{}
static class B{} //2
}

将在第 1 行导致编译时错误:

Illegal enclosing instance specification for type Main.B

但我不明白为什么,我觉得它有点违反直觉:在第 2 行我们有一个静态类定义,它不应该也可以从对象 m 访问吗?

编辑

如果 Main 有一个静态变量 im.i 就不会导致编译错误。为什么行为与类定义不同?

最佳答案

没有。

静态内部类的全部意义在于它没有包含封闭类的实例。

关于java - 实例化静态嵌套类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34382040/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com