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?