是类中五大成分之一(成员变量,方法,构造器,内部类,代码块),如果一个类定义在另一个类的内部,这个类就是内部类
场景:当一个类的内部,包含了一个完整的事物。且这个事物没有必要单独设计的时候,就可以把这个事物设计成内部类。
成员内部类中访问其他成员的特点
1.成员内部类的实例方法,同样可以直接访问外部类的实例成员,静态成员。
2.可以在成员内部类的实例方法中,拿到当前外部类对象,格式是外部类名.this。
3.外部类要访问内部类的成员,必须创建对象
静态内部类
有static修饰的内部类,属于外部类自己持有。
-
静态内部类可以直接访问外部类的静态成员,但不能直接访问外部类的非静态成员。非静态内部类可以访问外部类的所有成员。
-
静态内部类与外部类之间不存在直接的引用关系,即外部类无法访问静态内部类的成员,需要通过创建内部类的实例来访问。
-
静态内部类可以通过外部类的类名直接访问,而非静态内部类必须通过外部类的实例来访问。
- 静态内部类通常用于将一个类作为另一个类的辅助类或工具类,例如在外部类中定义一个静态内部类来实现某个功能,这样可以将这个功能封装在一个类中,方便调用和维护。