Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中的复杂嵌套类_Java - Fatal编程技术网

java中的复杂嵌套类

java中的复杂嵌套类,java,Java,我正在用一些嵌套的静态类测试这个程序 public class Q { static class A { static class B{ static class C{ static class D{ static class E{ } } } }

我正在用一些嵌套的静态类测试这个程序

public class Q 
{
    static class A {

        static class B{

            static class C{

                static class D{

                    static class E{

                    }
                }
            } 
        }
    }


    class C{

        class D{

            class F{

            }
        }

        static class E{
    }
}

}
但在这里我不能再次声明静态类E,这显示了错误“这里不允许静态修饰符”。我怎么了?
别喊我。我知道这是一种不好的做法,但我有好奇心想知道原因

您可以将所有代码简化为:

class C{

    static class E{
    }
}
所以问题变成了为什么不能在非静态内部类中创建静态内部类

答案如下:

非静态内部类的整个主体不在静态范围内,因此不能在其中包含静态成员


您可以将所有代码简化为:

class C{

    static class E{
    }
}
所以问题变成了为什么不能在非静态内部类中创建静态内部类

答案如下:

非静态内部类的整个主体不在静态范围内,因此不能在其中包含静态成员

如果仔细查看上面的嵌套内部类,您将尝试将静态嵌套类放在非静态内部类中,这在java中是不允许的


如果您仔细查看上面的嵌套内部类,您正试图将静态嵌套类放在非静态内部类中,这在java中是不允许的。

读这样的代码太烦人了。您到底为什么要尝试这样可怕的事情呢?这太可怕了@user3007882。看起来像梯子。你想用这个做什么?别喊我。我知道这是一种不好的做法。但我很好奇,想知道原因。这并没有让我恼火:这是一个典型的Oracle考试认证问题。阅读这样的代码真让人恼火。你到底为什么要尝试这样可怕的事?这太可怕了@user3007882。看起来像梯子。你想用这个做什么?别喊我。我知道这是一种不好的做法。但我很好奇,想知道原因。这并没有让我烦恼:这是一个典型的Oracle考试认证问题