内部类
1.成员内部类和匿名类为最常见的内部类。
2.在一个类中使用内部类,可以再内部类中直接存取其所在类的私有成员变量,在成员内部类中可以随意使用外部类的成员方法及成员变量,尽管成员变量i以及成员方法g()都在外部类中被修饰为private,但在成员内部类中可以直接使用。成员内部类的语法如下:
class OuterClass{
class InnerClass{
}
}

3.内部类的实例一定要绑定在外部类的实例上,如果从外部类中初始化一个内部类对象,那么内部类对象就会绑定在外部类对象上。内部类初始化方式与其他类的初始化方式相同,都是使用new关键字。

4.成员内部类不止可以在外部类中使用,在其他类中也可以使用。在其他类中创建内部类对象的语法非常特殊,语法如下:
外部类 outer = new 外部类();
外部类.内部类 inner = outer.new 内部类();
5.如果在外部类和非静态方法之外实例化内部类对象,需要使用“外部类.内部类”的形式指定该对象类型。
6.内部类对象会依赖与外部类对象,除非已经存在一个外部类对象,否则类中不会出现内部类对象。
使用this关键字获取内部类与外部类的引用
1.如果在外部类中定义的成员变量与内部类的成员变量名称相同,可以使用this关键字。

匿名内部类
1.匿名类是只在创建对象时才会编写类体的一种写法。匿名类的特点是“现用现写”,其语法如下:
new 父类/父接口(){
子类实现的内容
};



浙公网安备 33010602011771号