我需要为toString()
我的抽象类的所有具体方法重写方法——在所有情况下都完全相同。所以这就是我想做的(SomeEnum
是一个单独的类,它只有一个枚举声明):
抽象类
public abstract class ClassA {
protected SomeEnum name;
protected int some_int;
// Constructor here
@Override
public String toString() {
return name.toString().toLowerCase() + " > " + Integer.toString(some_int);
}
}
具体类(示例)
public class ClassB extends ClassA {
private static final int some_const = 1;
private SomeEnum name = SomeEnum.ENUM_1;
public ClassB(int some_int) {
super(some_const, some_int);
}
}
出于某种原因,如果没有运行时异常,我不能这样做,toString()
我需要在抽象类中声明抽象方法,然后在每个具体类实现中提供(完全相同)实现。
这种方法有什么问题?
编辑:我得到的例外是NullPointerException
然后将我指向ClassA.toString()
.