Java:内部类中的内部类

Java:内部类中的内部类,java,class,syntax,declaration,Java,Class,Syntax,Declaration,如果以前有人问过这个问题,请原谅。 我在网上搜索过,这里是stackoverflow 案例: public class outer { public class middle { public class inner { public int variable = "8"; } } } source\start.java:8: error: cannot find symbol

如果以前有人问过这个问题,请原谅。 我在网上搜索过,这里是stackoverflow

案例:

public class outer  {
    public class middle {
        public class inner  {
            public int variable = "8";
        }
    }
}
source\start.java:8: error: cannot find symbol
                      outerObject.middleObject.inner innerObject = outerObject
.middleObject.new inner();
^
我被困在我的java项目中,当我尝试使用java时,编译器不会编译我的项目 一个内在的类在另一个内部

代码:

public class outer  {
    public class middle {
        public class inner  {
            public int variable = "8";
        }
    }
}
source\start.java:8: error: cannot find symbol
                      outerObject.middleObject.inner innerObject = outerObject
.middleObject.new inner();
^
声明:

public class outer  {
    public class middle {
        public class inner  {
            public int variable = "8";
        }
    }
}
source\start.java:8: error: cannot find symbol
                      outerObject.middleObject.inner innerObject = outerObject
.middleObject.new inner();
^
我试图像这样声明类:

outer outerObject = new outer();
outerObject.middle middleObject = outerObject.new middle();
outerObject.middleObject.inner innerObject = outerObject.middleObject.new inner();
编译结果:

public class outer  {
    public class middle {
        public class inner  {
            public int variable = "8";
        }
    }
}
source\start.java:8: error: cannot find symbol
                      outerObject.middleObject.inner innerObject = outerObject
.middleObject.new inner();
^
任何回复都将不胜感激!无论我的意图是不可能的,还是我只是做错了什么

祝你有愉快的一天该行

outerObject.middleObject.inner innerObject = outerObject.middleObject.new inner();
应该是

outer.middle.inner innerObject = middleObject.new inner();
public int variable = 8;
outerObject
没有
middleObject
字段。不幸的是,Java允许使用变量表达式限定静态,因此实际编译时会得到一些奇怪的代码


如果您坚持Java命名约定,这一点可能会更清楚。

您的代码永远不会编译为:

public int variable = "8";
这条线应该是

public int variable = 8;
首先更改此行。

使用此行

public class outer  {
    public class middle {
        public class inner  {
            public int variable = 8;
        }
    }
    public static void main(String[] a) {
        outer outerObject = new outer();
        middle middleObject = outerObject.new middle();
        middle.inner innerObject = middleObject.new inner();
    }
}
请试试这个:

    Outer outerObject = new Outer();
    Outer.middle middleObject = outerObject.new middle();
    Outer.middle.inner innerObject = middleObject.new inner();
您还需要更改:

 public int variable = "8";


检查此链接谢谢!我没想到,谢谢!这解决了我的问题!我认为应该有一个关于这个的教程。可能已经有了一些,但我找不到。@OleKristianMøller Hansen为内部类指定外部
new
,这是一个非常模糊和毫无意义的特性,我真的不认为它是教程领域。@OleKristianMøller Hansen可能会将此作为答案吗?