一、什么是内部类?
内部类就是一个类里面的类,内部类可以用修饰符进行修饰,而外部顶级类只能用 public、default修饰。
同时内部类在创建的时候是以区别于外部类创建的两个不同的类。
二、内部类的类型以及基本的使用
内部类分为 内部类、匿名内部类、局部内部类。
其中内部类分为 静态内部类、非静态内部类。
一、静态内部类
静态内部类就是用static修饰的类
静态内部类的方法不能直接访问外部类的方法
静态内部类可以当做外部类的一个静态变量来看,所以在调用的时候可以当做一个成员变量来调用
比如 outer.inner a= new outer.inner();
二、非静态内部
类非静态内部类中不能用静态方法、静态变量等。
可以直接访问外部类成员,但是外部类不能访问内部类成员。
成员变量访问要点
内部类方法变量:成员名
内部类变量:this.成员名
外部类成员变量:外部类名.this.成员名。
在调用非静态内部类的时候
outer.inner a=new outer().new inner();
三、匿名内部类
匿名内部类没有修饰符,没有名字。
这是一种只是使用一次的类。
语法如下:
new
父类构造器(实参类表) \实现接口 () {
//匿名内部类类体!
}
四、局部内部类
局部内部类使用不多,所以不做过多的解释。