内部类:
把一个类写在了另外一个类或方法中!
(外部类必须是public修饰,不能更改访问权限修饰符!内部类可以设置访问权限修饰符)
内部类的分类:
1.成员内部类 直接在外部类
01.可以拥有private,protected访问权限修饰符
02.如果外部类和内部类属性重名,默认使用内部类
想使用外部类的属性或方法
外部类名.this.属性/方法
03.想访问内部类,必须先创建外部类对象
2.局部内部类 被定义在某个方或者代码块中
01.仅限于方法体内使用==》局部变量
3.匿名内部类
01.没有名称,看不到类的定义
02.所有的匿名内部类必须继承一个类或者实现一个接口
03.如果匿名内部类中需要了外部的参数,这个参数必须是final修饰
4.静态内部类
01.成员内部类 加static
02.不依赖与外部类,可以直接创建对象
03.不能访问外部类的非静态的属性和方法