内部(嵌)类
分别分为:成员内部类,匿名内部类,局部内部类
是一种特殊的类,定义在一个类的内部
实际开发中,为了方便使用一个类的相关属性和方法,通常会定义一个内部类
内部类可以直接访问外部类的私有属性,但是外部类不能访问内部类的内部属性
成员内部类
非静态
类名不添加static 修饰,且不能有静态方法,静态属性和静态初始化块
可直接在方法内调用自己的内部属性
调用外部类的属性 :外部类名.this.属性
定义
外部类名.内部类名 名 = new 外部类.new 内部类
静态
前面添加static修饰
可直接访问外部类静态成员,不能访问外部类普通成员
被看作外部一个静态成员
定义
外部类名.内部类名 名 = new 外部类.内部类
匿名内部类
适合那种只需要使用一次的类
只使用一次,使用完就消失
使用
new 类名()
局部内部类
定义在方法内部,作用域只限于本方法
一般实际开发很少,作为知识的即可