我正在学习LibGDX引擎并重新学习java,并编写了一个简单的日志记录类,它有一个带有字符串参数的方法传递给Gdx.app.log()
。虽然这不是必需的,但我这样做是为了练习导入和使用自定义方法和类,以及减少向控制台发送消息所需的行的长度。方法如下:
import com.badlogic.gdx.Gdx;
public class logging {
public static final String tag="Console";
//contains method for logging to the console during testing.
public void log(String message){
Gdx.app.log(tag, message);
}
}
然后在我正在使用它的类中,它被正确导入,并且创建了公共日志记录'con'。到目前为止,一切似乎工作正常,因为当我输入con。在eclipse中,我将日志(消息)作为自动完成选项,但是当它在屏幕中实际调用时,在show()方法下。当程序试图通过这一点时,我得到一个java.lang.NullPointerException
,这让我感到困惑,因为一切都写得正确。作为其使用的一个例子:
con.log("this is a test");
是我尝试的确切用法,它在运行前的eclipse中看起来很好。我在这里没有掌握一些简单的想法吗?或Gdx.app.log()
的怪癖?请不要回答“只需使用Gdx.app.log()
;您需要写入日志”,因为这不是我的练习点。提前感谢您的帮助!
答案 0 :(得分:4)
如果您在此行中收到NullPointerException:
con.log("this is a test");
唯一可以为null的是con。您可能正在定义它,但实际上并没有创建它。
Logging con;
而不是
Logging con = new Logging();