我有一个超类,一个子类和一个实现类。我覆盖了子类中的toString,我在main方法中有一个数组。我的问题是,如果我必须在最后从子类添加静态变量,我应该如何覆盖main方法中的toString()。
在超级课程中,
public String toString(){
return "This is my message";
}
在子类中,
private static int num;
public String toString(){
return super.toString()+ "\na Message from subclass";
}
在main方法中,
MySubClass myVariable=new MySubClass();
JOptionPane.showMessageDialog(null,myVariable + "\nFinal message" + MySubClass.getNum());
这一直给我一个错误信息。 所以我试过了,
String message = myVariable + "\nFinal message";
JOptionPane.showMessageDialog(null,message);
这也没有用。 如何将最终消息添加到toString()?
答案 0 :(得分:1)
修改强> 你需要指定问题所在(编译时错误?)
如果你有toString的超类,并希望子类在子toString()上追加另一个消息,你将覆盖toString()并调用你的超类方法:
public class Child extends SuperClass {
@Override
public toString() {
return super.toString() + " your child message";
}
}
现在可以调用你的child.toString()来获取消息
如果这不是您的问题,请详细说明。