今天运行程序的时候,总是出现BUG:java.lang.Error: Static initializer: java/lang/NullPointerException。由于开始修改了很多东西才运行,所以实在一下子不知道是什么地方引起的。而且由于是在J2ME平台,报错的地方定位确实不准确。后来就DeBug,但是DeBug也不能定位。最后只好查资料了,国内的,国外的都看了,还是没有对应的信息。
没办法,只有自己解决了,很明显,Static initializer是静态初始化的意思。就我所知,正常情况下,在加载一个类的时候,会先调用它的Static属性和方法。这个时候,我就开始查到底加载了什么类,然后这个类里面有什么static的属性或者方法有问题。最后发现,静态属性的初始化顺序弄错了。把还没有初始化的属性先使用。这就导致了这样的java/lang/NullPointerException。