java基础-内部类

142 阅读1分钟

一.定义:把类定义在一个类的内部被称为内部类

二.内部类的种类:

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,使其变成常量