bun*_*ath 6 java static static-variables inner-classes
这是代码.
public class Test {
class InnerClass{
}
public static void main(String[] args){
InnerClass ic = new InnerClass();
}
}
Run Code Online (Sandbox Code Playgroud)
它说错误信息
non-static variable this cannot be referenced from a static context
after creation of object ic.
Run Code Online (Sandbox Code Playgroud)
任何人都可以给我理由吗?
谢谢
ska*_*man 23
InnerClass需要是static自己,即
public class Test {
static class InnerClass{
}
public static void main(String[] args){
InnerClass ic = new InnerClass();
}
}
Run Code Online (Sandbox Code Playgroud)
如果InnerClass是没有 static,它只能在父实例的上下文实例Test.相当巴洛克式的语法是:
public class Test {
class InnerClass{
}
public static void main(String[] args){
Test test = new Test();
InnerClass ic = test.new InnerClass();
}
}
Run Code Online (Sandbox Code Playgroud)