Inner class of Java

内部类

内部类(Inner Class)是定义在一个类中的类。

作用

  • 内部类可以访问该类定义的作用域数据,包括私有数据;
  • 内部类可以对同包内的其它类隐藏;
  • 用匿名类实现回调函数;

C++有嵌套类,嵌套类是一种类之间的关系,而不是对象之间的关系。另外,Java内部类能够引用实例化该内部对象的外部类对象。

只有内部类可以设为private的。

使用方法

大多数用法与常规类类似,有一些特殊的语法规则:

1
outerObject.new InnerClass(para);

局部内部类

如果某个内部类只有在某个方法中创建类型时使用一次,那么可以在一个方法中定义局部类:

外部方法访问final变量

局部类不但能访问外部类,还可以访问局部变量。但该局部变量必须是final的。

静态内部类

如果内部类不需要引用外部类对象,就可以把该内部类声明为静态内部类。

在静态方法中new对象的时候,对应的类必须为static。