Java:内部类中的内部类
如果以前有人问过这个问题,请原谅。 我在网上搜索过,这里是stackoverflow 案例: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
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可能会将此作为答案吗?