我有一个继承超类的子类,并且我在子类中编写的方法(Get Insurance Cost)不被超类识别。当按下计算保险费用的按钮时,什么也没有发生,并且在超类中,getinsurance用红色下划线标出——这意味着它无法定位该方法。
if (arg.equals("Calculate Insurance")) {
String valueStr = insurancevaluetextField.getText();
value = Double.parseDouble(valueStr);
add (insuranceDisplayArea);
insuranceDisplayArea.setText("The insurance charge for your package is: $"
+ df.format(getInsurancecost()) + "n");
}
超类不能从其子类运行方法。但是,可以从子类调用超类方法。考虑重新设计你的类。
你的描述表明你把它弄反了:可以在子类中使用超类的非私有方法父类中子类的NOT方法。为了使用子类的方法,您必须创建一个子类的实例。
如果您可以将类Parcel
声明为abstract
,则可以添加
public abstract double getInsurancecost();
这样你的父类就可以调用它的子类定义的方法