85-
内部类分为4种
- 静态内部类
- 在一个类的内部,由static关键字修饰的类叫做静态内部类,它的里面只能访问外部类的静态成员和方法!编译后,会生成一个 外部类$内部类.class的文件,实例化一个内部类对象时,外部类.内部类 inner= new 外部类.内部类()
- 成员内部类
- 定义在外部类中,没有static修饰的一个类,就像一个成员方法,可以使用外部类所有的成员。这个类就像一个成员一样,被所有对象拥有。在外部类中实例化,使用this.内部类()。其它类中实例化时用(new 外部类()).new 内部类()。在内部类中访问外部类成员时,使用OtterClass.this.member.
- 局部内部类定义在一个方法中,就像局部变量一样,只能在方法内使用,并且类中只能访问final的变量
- 匿名内部类是局部内部类的一种,它没有名字,没有class关键字定义,没有extends、 implement关键字,没有构造方法,隐式的继承一个类或者实现一个接口!