内部类问题
public   final   class   Test 
 { 
             class   Inner   { 
                         void   test()   { 
                                     if   (Test.this.flag);   {sample();} 
                         }    
             } 
             private   boolean   flag   =   false; 
             public   void   sample()   {System.out.println( "Sample ");} 
             public   Test()   {(new   Inner()).test();} 
             public   static   void   main(String   args   [])   { 
                         new   Test(); 
             }    
 }   
 The   result   is    "Sample ",Why?????
------解决方案--------------------if (Test.this.flag); {sample();} 
 改为: 
 if (Test.this.flag) {sample();} 
 中间的分号去掉。
------解决方案--------------------问题就在那个“;” 上面  ,不过不是去掉   lz问的是为什么?    
 The result is  "Sample ",Why?????   
 答案就在那个 “;”   
 首先执行 if(); 
  在执行  { sample(); }  //这是一个代码块   根if()没有任何的逻辑关系 
                             //  不管  if()真假    {}  都会执行