如何在静态类中实现非静态方法?

时间:2012-01-19 03:25:26

标签: java

有没有办法在静态上下文中实现wait();(非静态方法)。例如:

public static void getkeylist(List keylist){
   for (int i=0;i<keylist.size();i++){
         System.out.println(keylist.get(i));
         wait(1000);   
   }
}

我收到错误“非静态方法wait(long)无法从静态上下文引用。”

请帮我解决我的问题。提前谢谢。

3 个答案:

答案 0 :(得分:4)

Thread.sleep(1000);

怎么样?

wait实际上用于线程控制,以及notify。我认为你对方法名称感到困惑。

答案 1 :(得分:1)

假设你的类是调用Foo,你可以调用Foo.class.wait(1000),或者你也可以定义一个静态对象并调用wait方法:

private static final Object lock = new Object();
...

lock.wait();

答案 2 :(得分:0)

创建非静态方法类对象并使用它。

.....
Foo foo = new Foo();
foo.wait();
.....