2015-11-26 77 views
-2

嗨,我創建一個測試Java代碼,但類runnable不工作。內部運行的建設者的工作,但覆蓋運行的代碼無法正常工作Runnable不工作

import java.util.Timer; 
import java.util.TimerTask; 
import java.util.Random; 

public class Test 
{ 
    //timer for change zone 
    private Timer timeZoneChange; 

    Test() 
    { 
     timeZoneChange = new Timer(); 

     timeZoneChange.schedule(new TimeForChangeZone(), 1 * 1000); 
    } 


    public class TimeForChangeZone extends TimerTask 
    { 
     @Override 
     public void run() 
     { 
      System.out.println("testing.."); 
      new UpdatePvpFlagZone(false); 
      //change zone flag 
      timeZoneChange.schedule(new TimeForChangeZone(), 1 * 60000); 
     } 
    } 

    public class UpdatePvpFlagZone implements Runnable 
    { 
     //remove pvp flag 
     private boolean removePvpFlag; 

     public UpdatePvpFlagZone(boolean removePvpFlag) 
     { 
      removePvpFlag = removePvpFlag; 
     } 

     @Override 
     public void run() 
     { 
      for (int i = 0; i<10; i++) 
      { 
       if (i == 5) 
        break; 
       //update flag 
       if (!removePvpFlag) 
       { 
        if (i == 6) 
         break; 
        System.out.println(i); 
        break; 
       } 
       //remove flag 
       if (i == 7) 
        break; 
       System.out.println(i); 
      } 
     } 
    } 

    public static void main(String[] args) 
    { 
     new Test(); 
    } 
} 

控制檯打印但裏面重載run無法打印。

> java Test 
testing.. 
+0

嗯,嘗試'UpdatePvpFlagZone upfz新UpdatePvpFlagZone(假); upfz.run();' –

+0

你期望看到什麼?爲什麼? –

+0

@LaneSurface不起作用。 –

回答

0

在這一行new UpdatePvpFlagZone(false);,該構造函數被調用,但runnable尚未啓動。

啓動運行的,像這樣:

UpdatePvpFlagZone upfz new UpdatePvpFlagZone(false); 
upfz.run(); 
相關問題