定义:在类中定义一个类,定义在类中的这个类叫内部类,也叫嵌套类;
特点:内部类可以访问外部类的所有属性和方法;
外部类要想访问内部类的属性和方法,必须创建内部类对象;
1、成员内部类:
Outer.Inner x = new Outer().new Inner();
如果内部类是私有的,则只能通过外部类定义的方法来创建内部类对象;
static修饰的内部类访问格式:Outer.Inner x = new Outer.Inner();
访问static修饰的内部类的静态成员:Outer.Inner.成员。
2、局部内部类:
无法使用成员内部类创建对象格式创建对象,在内部类所在的方法内创建内部类对象,调用内部类方法;
在内部类内访问成员变量可以,但访问局部变量,局部变量只能是final修饰的常量(延长变量的生命周期,jdk8以后不用final修饰)
3、匿名内部类:
定义类,创建对象一起完成,目的是创建该类的子类对象或实例对象。
格式:new 类名或者接口名(){}
|
|