静态内部类如何使用外部的对象
时间: 2024-09-13 15:16:28 浏览: 39
静态内部类,也称为封闭类或静态嵌套类,在Java中是一种特殊的类组织形式,它属于外部类但没有对那个外部类实例的引用。这意味着它可以独立于外部类的状态而存在,并且可以直接访问外部类的静态成员,但不能直接访问非静态成员,也不能创建外部类的对象。
要使用外部对象,你可以在静态内部类中声明一个外部类类型的变量或者方法参数,然后在这个内部类的方法中操作这个外部对象。例如:
```java
public class OuterClass {
// 外部类的静态成员
public static String externalVar = "Hello";
// 外部类的实例
private final String instanceVar = "World";
// 静态内部类
public static class StaticInnerClass {
// 使用外部类的静态成员
public void useStaticExternal() {
System.out.println(externalVar);
}
// 可以传递外部类实例作为方法参数
public void useInstanceOuter(Object obj) {
if (obj instanceof OuterClass) {
// 访问外部类实例的非静态属性
String var = ((OuterClass) obj).instanceVar;
System.out.println(var);
}
}
}
}
// 在外部通过外层类实例调用静态内部类方法
OuterClass.StaticInnerClass inner = new OuterClass().StaticInnerClass();
inner.useStaticExternal(); // 输出: Hello
```
阅读全文