成员内部类/静态成员内部类
时间: 2023-09-10 22:06:37 浏览: 92
11.内部类.doc
成员内部类是定义在另一个类的内部的类,它可以访问包含它的外部类的所有成员,包括私有成员。它的定义形式如下:
```java
class OuterClass {
// 外部类成员变量和方法
class InnerClass {
// 内部类成员变量和方法
}
}
```
静态成员内部类是在内部类前面加上static修饰符的内部类。与非静态内部类不同,静态内部类与外部类之间没有直接的引用关系,它的定义形式如下:
```java
class OuterClass {
// 外部类成员变量和方法
static class StaticInnerClass {
// 静态内部类成员变量和方法
}
}
```
静态内部类与外部类的实例无关,可以直接访问外部类的静态成员,但不能直接访问外部类的非静态成员,如果需要访问外部类的非静态成员,可以通过创建外部类的实例来进行访问。对于外部类来说,静态内部类相当于一个独立的类,可以直接通过类名进行访问。
请注意,无论是成员内部类还是静态成员内部类,都需要通过外部类的实例来创建内部类的实例。例如:
```java
OuterClass outer = new OuterClass();
OuterClass.InnerClass inner = outer.new InnerClass();
OuterClass.StaticInnerClass staticInner = new OuterClass.StaticInnerClass();
```
阅读全文