一.定义:把类定义在一个类的内部被称为内部类
二.内部类的种类:
1.成员内部类 -----相当于成员变量
(1).成员内部类造对象
格式:外部类.内部类 obj=new 外部类().new 内部类();
2.静态内部类----- 相当于静态成员变量
格式:外部类.内部类 obj=new 外部类.内部类();
3.局部内部类----- 相当于局部变量
(1).局部内部类造对象
局部类部类只能在局部范围内使用
格式: 内部类 obj=new 内部类();
4匿名内部类
格式:new 类名/接口名(){重写方法};
三.内部类的访问特点
1.内部访问外部
成员内部类可以访问外部类的任何变量和方法
静态内部类只能访问外部类的静态方法和静态变量
局部内部类可以访问外部类的任何变量和方法
2.外部类访问内部类
外部类访问内部类成员,必须创建对象,前提内部类不能私有
3.外部类和内部类的权限修饰符
外部类:只能用public和default修饰,可以使用final可以使用abstract
成员内部类和静态内部类:可以public,default,protected,private修饰,可以使用final可以使用abstract
局部内部类:不能使用权限修饰符,不能使用static,可以使用final可以使用abstract
4.局部内部类访问局部变量,局部变量必须加final,使其变成常量