在上一小节我们讨论了内部类,即在一个类中包含有另外一个或者多个类(见本书 12.3.3 小节)。与内部类相似,静态内部类指在一个类的内部包含有另外一个或者多个静态类。例如:
与一般内部类不同,在静态代码中不能够使用 this 操作,所以在静态内部类中只可以访问外部类的静态变量和静态方法。使用静态内部类的目的和使用内部类相同。如果一个内部类不依赖于其外部类的实例变量,或与实例变量无关,则选择应用静态内部类。
如下例子演示怎样使用静态内部类:
如同不用创建对象就可调用静态方法一样,上例静态内部类中的静态方法利用:
来调用。注意,可以在静态内部类的方法中,直接访问外部类的静态变量 n 和调用静态方法 outerMethod() 。但不允许访问外部类的实例变量 x 以及实例方法 outerMethod2() 。
静态内部类中也可以提供实例方法,如:
静态内部类的实例方法中亦只允许访问外部类的静态成员。
可以使用下列语法格式创建一个静态内部类对象并且调用其实例方法,以及静态方法:
转载于:https://blog.51cto.com/yqgao/165373