请给出java静态内部类的使用场景和相关代码例子
时间: 2024-02-28 13:56:56 浏览: 126
Java静态内部类的使用场景一般有以下几种:
1. 辅助类:如果某个类只在一个类中使用,可以将其定义为这个类的静态内部类,这样可以避免污染外部类的命名空间。
2. 封装性:静态内部类可以访问外部类的静态成员,但是不能访问外部类的非静态成员。这样可以提高代码的封装性。
3. 代码整洁:将功能相关的代码放在一个静态内部类中,可以提高代码的整洁度和可读性。
下面是一个静态内部类的代码例子:
```java
public class OuterClass {
private static int outerData = 1;
public static class InnerClass {
private int innerData = 2;
public void print() {
System.out.println("outerData=" + outerData);
System.out.println("innerData=" + innerData);
}
}
public static void main(String[] args) {
OuterClass.InnerClass inner = new OuterClass.InnerClass();
inner.print();
}
}
```
在这个例子中,OuterClass是外部类,InnerClass是静态内部类。InnerClass可以访问OuterClass的静态成员outerData,但不能访问OuterClass的非静态成员。在main方法中,我们创建了一个InnerClass的对象inner,并调用了它的print方法。输出结果为:
```
outerData=1
innerData=2
```
可以看到,静态内部类可以方便地访问外部类的静态成员,同时也可以封装内部类的实现细节,提高代码的封装性和可读性。
阅读全文