外嵌类的类体中,可以用内部类声明对象,作为外嵌类成员吗
时间: 2023-11-25 16:06:10 浏览: 31
是的,外嵌类的类体中可以包含内部类的声明,这些内部类可以作为外嵌类的成员使用。在外嵌类中,可以通过类名直接访问内部类中的静态成员,或者通过创建内部类的实例来访问其非静态成员。例如:
```java
public class OuterClass {
private int outerVar;
public class InnerClass {
private int innerVar;
public void doSomething() {
outerVar = 10;
innerVar = 20;
}
}
public static class StaticInnerClass {
private static int staticInnerVar;
public static void doSomething() {
staticInnerVar = 30;
}
}
public void test() {
InnerClass inner = new InnerClass();
inner.doSomething();
int innerVar = inner.innerVar;
int staticInnerVar = StaticInnerClass.staticInnerVar;
}
}
```
在这个例子中,`OuterClass` 包含两个内部类:`InnerClass` 和 `StaticInnerClass`。在 `test` 方法中,我们创建了 `InnerClass` 的实例 `inner`,并调用了它的方法 `doSomething`。我们还访问了 `inner` 的成员变量 `innerVar`,以及 `StaticInnerClass` 的静态成员变量 `staticInnerVar`。注意,我们可以直接通过类名访问 `StaticInnerClass` 的静态成员,而无需创建该类的实例。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)