public void start()
{ new Thread( new Runable(){ public void run(){}; } ).start(); } } 最后,在方法外部定义的内部类前面可以加上 static 关键字,从而成为 Static Nested Class, 它不再具有内部类的特性,所有,从狭义上讲,它不是内部类。Static Nested Class 与普通 类在运行时的行为和功能上没有什么区别,只是在编程引用时的语法上有一些差别,它可以 定义成 public、protected、默认的、private 等多种类型,而普通类只能定义成 public 和默 认的这两种类型。在外面引用 Static Nested Class 类的名称为“外部类名.内部类名”。在外 面不需要创建外部类的实例对象,就可以直接创建 Static Nested Class,例如,假设 Inner 是定义在 Outer 类中的 Static Nested Class,那么可以使用如下语句创建 Inner 类: Outer.Inner inner = newOuter.Inner(); 由于 static Nested Class 不依赖于外部类的实例对象,所以,static Nested Class 能访问外部类的非 static 成员变量( 不能直接访问,需要创建外部类实例才能访问非静态变量)。 。当 在外部类中访问 Static Nested Class 时,可以直接使用 Static Nested Class 的名字,而不 需要加上外部类的名字了,在 Static Nested Class 中也可以直接引用外部类的 static 的成员 变量,不需要加上外部类的名字。 在静态方法中定义的内部类也是Static Nested Class,这时候不能在类前面加static 关键字, 静态方法中的 Static Nested Class 与普通方法中的内部类的应用方式很相似,它除了可以 直接访问外部类中的 static 的成员变量,还可以访问静态方法中的局部变量,但是,该局部 变量前必须加 final 修饰符。