java异常如何是什么原因 java.lang.NullPointerException

有如下异常Exception in thread "Thread-4" java.lang.NullPointerException

出现问题的代码段是
public void run() {
while(true){

moveDown();
listener.shapeMoveDown(Shape.this);
try {
Thread.sleep(1000);
} catch (InterruptedException ex) {
ex.printStackTrace();
}

}
}

空引用异常,查一下这段代码里面有哪个类的对象没有赋值就直接使用了。是listener吗?还有,你的Shape.this是什么意思。shape是个类,还是个对象。。。没见过这么用this的。。。参数要么就是this(指执行当前方法的对象),要么就是一个其他对象的引用
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-05-14
这是空指针异常,比如String ss=a.getName();如果a不存在,就会报空指针异常,如果你确定是这个代码块出错,那可能是listener.shapeMoveDown(Shape.this)里的Shape.this不存在
第2个回答  2009-05-11
空指针错误
抛这种NullPointerException
说明你有变量没有初始化就使用啦,就是说没有new出来就使用啦
看看你有没有尚未初始化就使用的变量。
第3个回答  2009-05-11
listener.shapeMoveDown(Shape.this);
应该是这句有问题,它接受的参数应该是个Shape类型的对象,除非Shape.this是你在Shape类里定义的一个静态变量,而且Shape.this已被初始化,否则shapeMoveDown接受的就是null,肯定会抛出NullPointerException。
第4个回答  2015-11-02

    报空指针,找不到  lang 包你定义的对象

    看错误的行数, 应该是没接收到参数

相似回答