如果不需要这种内部类对象和宿主类对象之间的联系,那么你可以把内部类定义成static的。这通常被称作嵌套类。要想理解static用于内部类时的意义,你就必须记住,普通的内部类对象都默认保存它的宿主类对象,也就是创建它的那个对象的reference。但是当你声明内部类是static的时候,情况就不是这样了。
嵌套类的意思是:1、无须宿主类的对象就能创建嵌套类的对象。2、不能在嵌套类的对象里面访问非static的宿主类对象。此外,嵌套类同普通的内部类还有一点不同。普通内部类的成员数据和方法只能到类的外围这一层,因此普通的内部类里不能有static数据,static数据成员或嵌套类。但是,这些东西嵌套类里都可以有。