繁体   English   中英

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

[英]How to implement non-static method in a static class?

有没有一种方法可以实现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)”。

请帮助我解决我的问题。 先感谢您。

Thread.sleep(1000);

wait实际上是与notify一起用于线程控制的。 我认为您对方法名称感到困惑。

假设您的类称为Foo,则可以调用Foo.class.wait(1000) ,或者可以定义一个静态对象并对其调用wait方法:

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

lock.wait();

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM