1、匿名内部类
匿名内部类在方法中创建,不能用public等来修饰
在方法内部使用,此时,只需要声明一个Outer05对象,然后使用f1方法,就可以使用这个匿名内部类
类的匿名内部类,如果去掉大括号中的内容,则变成创建一个Father 对象,但是有这个大括号,则是使用一个匿名内部类,如果类本身不是抽象类,则不一定要重写方法,这样调用的就是Father的test方法,但是既然重写了,除非用Father.this.test(),则固定访问匿名内部类的test方法
作为参数使用,有一个bell接口有ring方法,没有声明,一个cellphone类,有alarmClock方法并且本身形参为bell类时,可以用匿名内部类来临时创建一个bell接口来使用
此时直接写n1,则是访问匿名内部类的n1,如果想要想要访问外部类Outer01的n1,则要用Outer01.this.n1才能访问到
2、成员内部类
在外部类的成员处创建一个类,称为成员内部类,一般在外部类中声明一个方法然后去创建成员内部类的对象,可以访问所有的成员,包括私有的,成员内部类本身也可以声明为各种访问修饰符,容易public,private等
3、静态内部类
可以访问外部类中所有的静态成员,但是不能直接访问非静态的