先看一下代碼
public class Thread1 extends Thread{ @Override public void run() { try { System.out.println("Start"); //Thread.sleep(5000); Thread.currentThread().sleep(5000); System.out.println("Finished"); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void main(String[] args) { Thread1 t1 = new Thread1(); t1.start();
在編譯器里運行看一下,沒什么區別,但是在編程規范中,“調用一個實例的靜態方法,而實際上應該是調用一個類的靜態方法”,所以還是用Thread.sleep()最好