相关疑难解决方法(0)

为什么Java禁止内部类中的静态字段?

class OuterClass {
 class InnerClass {
  static int i = 100; // compile error
  static void f() { } // compile error
 }
} 
Run Code Online (Sandbox Code Playgroud)

虽然无法访问静态字段OuterClass.InnerClass.i,但如果我想记录一些应该是静态的东西,例如创建的InnerClass对象的数量,那么将该字段设置为静态会很有帮助.那么为什么 Java禁止内部类中的静态字段/方法呢?

编辑:我知道如何使编译器满意静态嵌套类(或静态内部类),但我想知道的是为什么java禁止语言设计和内部类(或普通内部类)内的静态字段/方法实施方面,如果有人了解更多.

java static-members inner-classes

79
推荐指数
7
解决办法
3万
查看次数

Java:如何加载已经在类路径上的类(及其内部类)?

如何加载已经在类路径上的类,实例化它,并实例化其中定义的任何内部类?

例如:

public class TestClass {


    public class InnerClass { }

}
Run Code Online (Sandbox Code Playgroud)

java reflection classloader

7
推荐指数
2
解决办法
7221
查看次数