Java开发-面试题-0033-内部类和静态内部类有什么区别
更多内容欢迎关注我(持续更新中,欢迎Star✨)
Github:CodeZeng1998/Java-Developer-Work-Note
(技术)微信公众号:CodeZeng1998
(生活)微信公众号:好锅
其他平台:CodeZeng1998、好锅
在 Java 中,内部类和静态内部类有一些关键的区别。它们在访问外部类成员、生命周期以及使用场景上有所不同。
1. 内部类(非静态内部类)
内部类是定义在另一个类中的类,它与外部类实例相关联,可以直接访问外部类的成员变量和方法(包括私有成员)。
特点:
- 与外部类实例相关:内部类持有外部类的引用,只有在创建了外部类实例后才能创建内部类的实例。
- 访问外部类成员:内部类可以直接访问外部类的所有成员,包括私有成员。
- 需要外部类实例:创建内部类实例时,必须先有外部类的实例。
示例:
class OuterClass {
private String outerField = "Outer field";
class Inn