内部类概述:在一个类中定义另一个类。
格式:
访问特点:内部类可以直 接访问外部类的成员,包括私有的;外部类不可直接访问内部类的成员,需要创建对象访问。
按内部类在类中定义的位置不同,又分为成员内部类(在类的成员位置)、局部内部类(在类的局部位置)。
成员内部类:创建对象使用的格式:外部类名.内部类名 对象名 = 外部类对象.内部类对象;
如:Outer.Inner i = new Outer().new Inner();
局部内部类: 是在方法中定义的类,所以外界无法直接使用,需要在方法内部创建对象并使用。该类可以直接访问外部类的成员,也可方法内的局部变量。
格式:public class 外部类名 {
public void 方法名() {
class 内部类名 {...} -- 内部类不能带修饰符。
}
}
匿名内部类:其本质是一个继承了该类或实现了该接口的子类匿名对象。
前提:存在一个类或接口,这个类可以是具体的类或抽象类。
格式: