1、可以将一个类的定义放在另一个类的定义内部,这就是内部类。
2、如果想从外部类的非静态方法之外的任意位置创建某个内部类的对象,那么必须显式的指明这个对象的类型:OuterClassName.InnerClassName。3、内部类拥有其外部类的所有元素的访问权。
4、如果在内部类中需要生成对于外部类的引用,其形式为:OutClassName.this。
5、当在外部类之外的地方创建一个内部类(非静态类)时,其创建形式为:
OutClassName.InnerClassName xx = yy.new InnerClassName();注意,其中yy必须是OutClassName类型。
但是,当内部类是静态类时,则不必一定需要对外部对象的引用。
6、匿名类没有构造函数,但是可以通过实例初始化的效果来实现构造器的功能。7、如果不需要内部类对象与其外围类对象之间有联系,那么可以将内部类声明为static。这通常称之为嵌套类。嵌套类和内部类的不同之处之一是内部类中隐含的保存了指向外部
类的引用。
8、对于嵌套类来说,只能访问外围类中静态对象/方法。