静态内部类就是用static修饰的局部内部类对吗
时间: 2023-12-06 09:43:10 浏览: 35
不是的,静态内部类是定义在外部类中,并且使用 static 修饰的内部类。静态内部类与非静态内部类有些不同。它可以直接通过外部类名访问,而不需要先创建外部类的实例。另外,静态内部类只能访问外部类的静态成员变量和方法,而不能访问非静态成员变量和方法。相对于非静态内部类,静态内部类的使用更加灵活,也更加方便。
相关问题
成员内部类、局部内部类、静态内部类、匿名内部类
成员内部类、局部内部类、静态内部类和匿名内部类是Java中的四种内部类。
成员内部类是作为外部类的一个成员存在的,没有static修饰。它可以访问外部类的静态成员和非静态成员。创建成员内部类的对象需要通过外部类的对象来调用。
局部内部类是定义在方法或代码块内部的类,它只在所在的方法或代码块中可见。局部内部类可以访问外部类的静态成员和非静态成员,但是只能在所在的方法或代码块中使用。
静态内部类是使用static修饰的内部类,它不再包含外部类的this指针,并且在外部类加载时初始化。静态内部类可以包含静态成员和非静态成员,但是只能访问外部类的静态成员。创建静态内部类的对象不需要外部类的对象,可以直接使用外部类名来调用。
匿名内部类是没有名字的内部类,它通常用于创建只需要使用一次的类。匿名内部类可以继承一个类或实现一个接口,并且可以在创建对象的同时实现类或接口的方法。匿名内部类没有构造方法,它的对象是通过实例化一个接口或抽象类来创建的。
总结来说,成员内部类是外部类的一个成员,局部内部类是定义在方法或代码块内部的类,静态内部类是使用static修饰的内部类,匿名内部类是没有名字的内部类。它们各自有不同的特点和用途。
#### 引用[.reference_title]
- *1* [内部类之静态内部类、成员内部类、局部内部类、匿名内部类](https://blog.csdn.net/SeniorShen/article/details/102512737)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [Java 内部类介绍](https://blog.csdn.net/iteye_11325/article/details/81785454)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [内部类(成员内部类+局部内部类+静态内部类+匿名内部类)](https://blog.csdn.net/qq_51768153/article/details/125222397)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
外部类,内部类,局部内部类的权限修饰符
外部类的权限修饰符可以是public、default、protected或private。内部类和局部内部类的权限修饰符可以是public、default、protected、private或static。其中,静态内部类和局部内部类可以使用static修饰符,而非静态内部类不能使用static修饰符。另外,内部类和局部内部类可以访问外部类的所有成员,包括私有成员。
相关推荐
![](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)