内部类就是一个类中还包含一个类。
内部类又有成员内部类,局部内部类(匿名内部类)。
内部类的使用方法:(Out是外部类,In是内部类)
直接使用:
Out.In o = new Out().new In();
当内部类被static修饰的时候,就可以这样用:new Out.In() ;
间接使用:
只调用外部类的方法,在外部类方法中使用内部类。
注:在内部使用外部类的变量的时候,一定要保证这个变量是不可变的。
匿名内部类:
如果是接口的实现类,父类的子类,就可以使用匿名内部类。
接口 变量名 = new 实现类(){
匿名内部类的代码部分。
}
注意: 使用匿名内部类只能创建对象的时候,只能使用唯一的一次。
匿名对象和匿名对象类不一样, 匿名内部类是省略了子类和实现类,而匿名对象是省略了对象名称。
匿名对象类只能创建一次对象,匿名对象只能调用以此方法。