内部类
内部类(Inner Class)是定义在一个类中的类。
作用
- 内部类可以访问该类定义的作用域数据,包括私有数据;
- 内部类可以对同包内的其它类隐藏;
- 用匿名类实现回调函数;
C++有嵌套类,嵌套类是一种类之间的关系,而不是对象之间的关系。另外,Java内部类能够引用实例化该内部对象的外部类对象。
只有内部类可以设为private的。
使用方法
大多数用法与常规类类似,有一些特殊的语法规则:
1 | outerObject.new InnerClass(para); |
局部内部类
如果某个内部类只有在某个方法中创建类型时使用一次,那么可以在一个方法中定义局部类:
外部方法访问final变量
局部类不但能访问外部类,还可以访问局部变量。但该局部变量必须是final的。
静态内部类
如果内部类不需要引用外部类对象,就可以把该内部类声明为静态内部类。
在静态方法中new对象的时候,对应的类必须为static。