在不是静态内部类声明一个静态成员
时间: 2023-06-11 09:08:57 浏览: 108
详解c++ 静态成员变量
在非静态内部类中声明静态成员是不允许的。因为非静态内部类只有在与外部类对象相关联时才会存在,而静态成员是在类加载时就已经存在于内存中的。因此,在非静态内部类中声明静态成员会导致语法错误。
如果需要在非静态内部类中使用静态成员,可以考虑将静态成员定义在外部类中,或者将内部类声明为静态内部类。静态内部类与外部类没有关联,因此可以在其中声明静态成员。例如:
```java
public class OuterClass {
private static int outerStaticVar;
public static class StaticInnerClass {
private static int innerStaticVar;
}
}
```
在上面的例子中,静态内部类 `StaticInnerClass` 中声明了一个静态成员变量 `innerStaticVar`,而外部类 `OuterClass` 中也声明了一个静态成员变量 `outerStaticVar`。
阅读全文