假设我们有一个类:
public class MyClass extends AbstractClass {
private AnotherObject ao = null;
public MyClass() {
super();
}
@Override
protected void init() {
ao = new AnotherObject();
if (ao != null) {
log.info("NOT NULL");
}
}
@Override
protected void doSomething() {
if (ao == null) {
log.info("It is NULL.");
}
ao.doIt(); //NullPointerException here
}
}
Run Code Online (Sandbox Code Playgroud)
以及相应的抽象类:
public class AbstractClass implements Runnable {
Thread myThread = null;
AbstractClass () {
init();
myThread = new Thread(this, "ThreadName");
myThread.start();
}
public void run() { …Run Code Online (Sandbox Code Playgroud) java ×1