NullPointerException: nadpisywanie metody wywołującej konstruktora klasy Base w klasie pochodnej

Mam ten fragment kodu:

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();
    }
}

Po wykonaniu kodu otrzymałem wyjątek:

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)

Nie mogę zrozumieć, dlaczego tak jestNullPointerException istackTrace wyjątku. Ktoś mógłby mi pomóc zrozumieć?

Możesz sprawdzić kodtutaj.

questionAnswers(2)

yourAnswerToTheQuestion