Java - 如何将子类方法转换为超类

时间:2014-03-27 12:16:44

标签: java

我有一个扩展超类的子类,我在子类中编写的方法(获取保险费用)不被超类识别。当按下按钮计算保险费用时,没有任何反应,而在超类中,单词 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");
}

3 个答案:

答案 0 :(得分:0)

超级类无法从其子类运行方法。但是,可以从子类中调用超类方法。考虑重新设计你的课程。

答案 1 :(得分:0)

你的描述表明你倒退了: 可以在子类中使用超类的非私有方法 不是超类中子类的方法。您必须创建子类的实例才能使用其方法。

答案 2 :(得分:0)

如果您可以将您的课程Parcel声明为abstract,则可以添加

public abstract double getInsurancecost();

这样你的超类就可以调用它的孩子所定义的方法了。