内部类作为入参对象
时间: 2023-07-25 21:16:34 浏览: 29
当一个内部类作为入参对象时,你需要注意以下几点:
1. 内部类必须先实例化外部类,然后才能实例化内部类,因此在作为入参对象时,你需要先创建外部类的实例,然后才能创建内部类的实例。
2. 如果内部类是非静态的,则在创建内部类的实例时,需要先创建外部类的实例,然后才能使用该实例创建内部类的实例。例如:
```
public class OuterClass {
private int x = 10;
public class InnerClass {
public void printX() {
System.out.println(x);
}
}
}
public class Main {
public static void main(String[] args) {
OuterClass outer = new OuterClass();
OuterClass.InnerClass inner = outer.new InnerClass();
inner.printX();
}
}
```
3. 如果内部类是静态的,则在创建内部类的实例时,不需要创建外部类的实例,可以直接使用类名创建内部类的实例。例如:
```
public class OuterClass {
private static int x = 10;
public static class InnerClass {
public void printX() {
System.out.println(x);
}
}
}
public class Main {
public static void main(String[] args) {
OuterClass.InnerClass inner = new OuterClass.InnerClass();
inner.printX();
}
}
```
总之,无论内部类是静态的还是非静态的,都需要先创建外部类的实例(或不需要创建外部类的实例),然后才能使用该实例创建内部类的实例。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)