?1
注意1.当内部类中定义了静态成员,该内部类必须是static
当内部类定义了static的成员是,就意味着@1 = Outer.Inner.function(); 是可以正确执行的,但是该内部类却不是static,则意味着 @2 = Outer.Inner 是错误的(不可用类直接调用),因此@1和@2是矛盾的。因此必须符合注意1。
?2
内部类(未加static修饰)像成员变量一样只有在 new 出对象时才会存在于内存中,即加载内部类。因此可以以 new Outer().new Inner2().show(); 正常运行。
?3
必然有联系 :
new Thread(new Runnable(){
@Override
public void run() {
// TODO Auto-generated method stub
}}).start(); |