sleep() 和Thread.sleep()疑惑,请大家指点!
public class ThreadTest2 implements Runnable{
public void run(){
System.out.println("My thread2 is running...");
}
public static void main(String[] args) {
//把Runnable接口的实现类作为参数,构造Thread对象。
Thread t=new Thread(new ThreadTest2());
t.start();
try{
Thread.sleep(3000); //sleep()为Thread类的静态方法
}catch(InterruptedException e){
e.printStackTrace();
}
//返回当前线程的字符串表示形式
String str=Thread.currentThread().toString();
System.out.println(str);
System.out.println("Main thread is running...");
}
}
-------------------------------------------------------
上边一段代码中,sleep()方法必须用Thread调用,这我能理解,
但是为什么其他类里只用sleep()不报错,这里只用sleep()就报错呢?
原因在哪里呢?
------解决方案--------------------因为你这是实现Runnable接口,Runnable接口里没有sleep()方法,如果你是继承Thread类,就可以直接只用sleep()了,因为Thread类里有sleep()方法