为什么类在 Java 中被声明为静态?
我见过类被声明为 in,但感到困惑:
因为类用于创建对象,不同的对象具有不同的内存分配。
那么在声明类时有什么用呢?这是否意味着都是?
这有意义吗?static
java
"static"
member variables
static
我见过类被声明为 in,但感到困惑:
因为类用于创建对象,不同的对象具有不同的内存分配。
那么在声明类时有什么用呢?这是否意味着都是?
这有意义吗?static
java
"static"
member variables
static
首先,您不能使顶级静态。您只能使嵌套类成为静态的。通过使嵌套类成为静态的,你基本上是在说,你不需要嵌套类的实例就可以从你的外部类/顶级类中使用它。
例:
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
}
}
另外要补充的是,在内部类中声明静态字段是非法的,除非它们是常量(换句话说,)。由于静态嵌套类不是内部类,因此您可以在此处声明静态成员。static final
类可以嵌套在嵌套类中吗?
一句话,是的。看看下面,嵌套的内部类和嵌套的静态类都可以在它们中有嵌套的类。但请记住,您只能在顶级类中声明静态类,在内部类中声明它是非法的。Test
public class Test {
public class Inner1 {
public class Inner2 {
public class Inner3 {
}
}
}
public static class nested1 {
public static class nested2 {
public static class nested3 {
}
}
}
}