【发布时间】:2014-03-13 12:39:28
【问题描述】:
当我尝试运行一个线程时,它会给出以下错误
startApp threw an Exception
java.lang.NullPointerException
java.lang.NullPointerException
at threadlearn.Midlet.startApp(Midlet.java:28)
MIDlet.java
public class Midlet extends MIDlet {
ThreadClass th;
public void startApp() {
th.startThread();
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
}
class ThreadClass implements Runnable{
Thread t;
ThreadClass() {
t = new Thread(this);
}
public void startThread() {
t.start();
}
public void run() {
System.out.println("We are in Thread");
}
}
【问题讨论】:
-
th未初始化,为其赋值:ThreadClass th = new ThreadClass(); -
@hoaz 谢谢你的评论
-
对于下一个错误:错误消息告诉您错误发生在文件 Midlet.java 的第 28 行的方法 Midlet.startApp 中,并且在不应该出现的情况下显示为 null 的内容。现在只需一小步就可以发现 'th' 可能为空。
标签: java multithreading java-me midlet