内部类是一种非常有用的机制,它允许你把一些逻辑相关的类组织在一起,并控制位于内部类的可视性(进入修饰符和其它普通类元素没有区别)。同时内部类能够与外部类通信。利用内部类的特性可以使得写出的代码优雅而清雅。1)内部类可以在内部进行使用,更典型的情况是在外部类设置一个方法返回一个指向内部类的引用2)如果想从外部类的非静态方法之外的任意位置创建某个内部类的对象(这个内部类必须是public),必须具体指明这个对象的类型:OuterClassName.InnerClassName;在new表达式中提供对其它外部类对象的引用,需要使用.new语法。
这个例子也告诉我们,必须使用外部类的对象来创建内部类对象,不能直接创建内部类对象,因为它们之前必须建立一个联系(当然除了嵌套类--静态内部类)3)内部类和制造它的外围对象之间有一种联系(对象创建一个内部类对象时,内部类对象会捕获一个指向那个外围类对象的引用),这种联系使得它能访问外围对象的所有成员,而不要任何特殊条件。此外,内部类还拥有其外围类的所有元素的访问权。(是不是可以把内部类看成外部类的一个元素,一个“特殊”的“类元素”)如果需要生成对外部类对象的引用,可以使用外部类的名字后面紧跟圆点和this“.this”:
Powered by: BlogJava Copyright © Eric-1001c