Per*_*ror 28
首先,你不能制作顶级静态.你只能使一个嵌套类静态.通过使嵌套类静态,您基本上是说您不需要嵌套类的实例来从外部类/顶级类中使用它.
例:
class Outer {
static class nestedStaticClass {
//its member variables and methods (don't nessarily need to be static)
//but cannot access members of the enclosing class
}
public void OuterMethod(){
//can access members of nestedStaticClass w/o an instance
}
}
Run Code Online (Sandbox Code Playgroud)
另外,在内部类中声明静态字段是非法的,除非它们是常量(换句话说static final).由于静态嵌套类不是内部类,因此可以在此处声明静态成员.
类可以嵌套在嵌套类中吗?
总之,是的.看下面的内容Test,嵌套的内部类和嵌套的静态类都可以在'em中使用嵌套类.但请记住,您只能在顶级类中声明一个静态类,在内部类中声明它是非法的.
public class Test {
public class Inner1 {
public class Inner2 {
public class Inner3 {
}
}
}
public static class nested1 {
public static class nested2 {
public static class nested3 {
}
}
}
}
Run Code Online (Sandbox Code Playgroud)