创建内部类
如果想从外部类的非静态方法之外的地方创建某个内部类的对象:具体的指明类型:OuterClassName.InnerClassName
链接到外部类
内部类能访问制造它的外部类的所有成员,拥有其外围类**所有元素(包括private)**的访问权。例如:迭代器
.this
生成外部类对象的引用:OuterClassName.this
.new
外部类要创建某个非静态内部类的对象:
OuterClass outer = new OuterClass();
OuterClass.InnerClass inner = outer.new InnerClass();
想要直接创建内部类对象,必须使用外部类对象来创建。
嵌套类(静态内部类)
嵌套类不需要对外部对象的引用,在不需要内部类对象与外围类对象之间有联系时,可以使用嵌套类,即将内部类声明为static 。
普通内部类不能有static字段和方法,也不能包含嵌套类,但嵌套类可以包含这些东西。
接口内部可以放置嵌套类,如果想创建某些公共代码使它们可以被某个接口所有不同实现所共用,可以使用接口内部嵌套类。
例如,需要在每个类中都有一个main函数来测试一个方法:
public class TestBed {
public void f() {
System