本帖最后由 sanyawa 于 2012-11-18 11:36:27 编辑 1.Eclipse 中的警告一般是什么情况,也就是说问题大不大?
2. 下面这段代码中,红色地方警告说:应该以静态方式访问类型 Thread 中的静态方法 sleep(long);
请问怎么理解这个警告的意思,应该如何处理呢?
public class tmk2 extends Applet implements Runnable {
//滚动的字符
private String str="欢迎光临";
//用于绘制界面的Graphics类对象
private Graphics myGraphics;
//字体队形
private Font font;
//图片用于绘制画面
private Image myImg;
private int x=0;
private Thread th;
.............
public void start()
{
if(th == null)
{
th = new Thread(this);
th.start();
}
}
.............
public void run(){
while(true)
{
//repaint方法,每次调用它都会调用都会引发update方法
repaint();
//当信息移动出窗口时从头开始
if (x>getSize().width)
{
x=0;
}
try
{
th.sleep(50); }
catch (InterruptedException e)
{
e.printStackTrace();
}
}
}
------最佳解决方案--------------------------------------------------------
现在不推荐使用Thread.sleep(1000);
使用 TimeUnit.SECONDS.sleep(1);
------其他解决方案--------------------------------------------------------
静态方法通过类调用,而不是通过类的实例调用。因为静态方法是类方法。
eclipse的的警告懒得话可以无视。有洁癖的可以在消除掉。
------其他解决方案--------------------------------------------------------
TimeUnit的sleep方法直观。SECONDS.sleep(1),一看就是休眠1秒
------其他解决方案--------------------------------------------------------
建议重视每一个警告。如果确定没问题可以suppresswarning。
------其他解决方案--------------------------------------------------------
谢谢推荐,但是还是没有回答我的第二个问题,为何报警呢?
还有你推荐的理由、