Base Class:
public class Base {
private String baseMessage = "Hello!";
public Base() {
printMessage();
}
public void printMessage() {
System.out.println(baseMessage.toString());
}
}
Derived Class:
public class Derived extends Base {
private String derivedMessage = "World!";
public Derived () {
super();
}
@Override
public void printMessage() {
super.printMessage();
System.out.println(derivedMessage.toString());
}
public static void main(String[] args) {
// new Base();
new Derived();
}
}
When I run
new Base();
I get the expected output:
Hello!
When I Run
new Derived();
I get
Hello!
Hello!
then NullPointerException. This seems a bit weird to me. I don't know why it's printing it out then throwing a nullpointerexception, rather straight up throwing it. Maybe it's Eclipse, I don't know.
What's the underlying concept here?