NullPointerException: Überschreibt die aufrufende Konstruktormethode der Basisklasse in der abgeleiteten Klasse

Ich habe diesen Codeausschnitt:

class Base {
    public Base() {
        method();
    }

    void method() {
        System.out.println("In Base");
    }
}

class Derived extends Base {
    private String bar;

    public Derived() {
        bar="bar";
    }

    public void method() {
        System.out.println(bar.length());
    }

    public static void main(String[] args) {
        Base base=new Derived();
        base.method();
    }
}

Beim Ausführen des Codes ist eine Ausnahme aufgetreten:

Exception in thread "main" java.lang.NullPointerException
    at Derived.method(Main.java:22)
    at Base.<init>(Main.java:5)
    at Derived.<init>(Main.java:17)
    at Derived.main(Main.java:27)

Ich kann nicht verstehen, warum das so istNullPointerException und dasstackTrace der Ausnahme. Kann mir jemand helfen zu verstehen?

Sie können den Code überprüfenHier.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage