I have my own class that extends an external class that overrides an external class to make its text always "Hello". It looks like:
import ext.ExternalClassA;
public class ClassB extends ExternalClassA {
    private String customText = "Hello";
    public ClassB() { // line 6
    }
    @Override
    public void setText(String newText) {
        return;
    }
    @Override
    public String getText() {
        return customText;
    }
}
However, when I run my program, it crashes with an error like:
Exception in thread "main" java.lang.NullPointerException
    at ext.ExternalClassA.setup(ExternalClassA.java:123)
    at ext.ExternalClassA.<init>(ExternalClassA.java:45)
    at my.ClassB.<init>(ClassB.java:6)
When I look at ExternalClassA.java, I see this:
// imports...
public class ExternalClassA {
    private String text;
    // Other variables
    public ClassB() {
        text = "Default";
        setup(); // line 45
    }
    // more code...
    private void setup() {
        if (text == null)
            return;
        String textStr = getText().toString(); // line 123
        // more code...
    }
    // more code...
}
What am I doing wrong? How can I fix it? Is it a problem with the external class?
 
    