Java实现:必须以static关键字标注 只能访问外部类中的静态的成员变量或者是静态的方法 访问一个内部类使应该这样outerClass.innerClass inter = new outerClass.innerClass();
时间: 2024-03-01 18:50:31 浏览: 98
Java之对象引用static变量
这个问题看起来是关于Java中静态内部类的访问问题。静态内部类是指在一个类内部声明的静态类,它可以像普通的类一样拥有成员变量和方法,但是需要使用static关键字进行标注。而访问静态内部类的方式是通过外部类的名称来访问,例如:
```java
public class OuterClass {
private static int staticVar = 1;
private int nonStaticVar = 2;
public static class InnerClass {
public void doSomething() {
System.out.println("Static var: " + staticVar);
// System.out.println("Non-static var: " + nonStaticVar); // ERROR! Cannot access non-static members
}
}
}
```
在这个例子中,我们声明了一个静态内部类`InnerClass`,它可以访问外部类的静态成员变量`staticVar`,但是不能访问外部类的非静态成员变量`nonStaticVar`。要访问这个静态内部类,我们需要这样做:
```java
OuterClass.InnerClass inter = new OuterClass.InnerClass();
```
这个语法可以让我们通过外部类的名称来访问静态内部类,从而创建它的实例并调用它的方法。需要注意的是,静态内部类的实例不依赖于外部类的实例,因此我们可以在没有外部类实例的情况下创建内部类的实例。
阅读全文