Java调用超类的方法

时间:2014-05-25 13:44:22

标签: java inheritance

我有一个班级

public class GridColor 
{
    double min;
    double max;

    public GridColor(double min, double max) 
    {
        this.min = min;
        this.max = max;
    }

    public double getColorValue(double value)
    {
        return 15*value*min/max;
    }
}

我有另一个班级

public class GridNewValue extends GridColor
{
    public GridNewValue(double min, max)
    {
        super(min, max);
    }
    public static void main(String[] args)
    {
        double value = 0.5;
        GridNewValue gnv = new GridNewValue(0.0, 1.0);
        System.out.println(gnv.getColorValue(value));
    }

}

我对Java很新。基本上我想打印超级value方法返回的getColorValue(value)。我知道我的做法有些严重。 请帮我继续

4 个答案:

答案 0 :(得分:1)

你的方法很好:)

你创建了一个类,你继承了她,并使用她的一种方法..

当然,如果您没有任何要添加到GridNewValue的内容,那么您就不需要覆盖,但这没关系

答案 1 :(得分:1)

如果你不覆盖getColorValue(),那么无论如何都会调用超类的实现。因此,你已经走上正轨了。

只有一个小的语法错误:

public GridNewValue(double min, max)

应该是

public GridNewValue(double min, double max)

答案 2 :(得分:0)

由于您没有覆盖子类中的方法,因此使用子类实例调用该方法将自动调用超类定义。
基本上,您已经在执行您希望代码执行的操作。

答案 3 :(得分:0)

在java中,子类 - 在您的情况下GridNewValue自动具有与其父类相同的属性。因此,除非您在getColorValue()类中覆盖GridNewValue,否则在调用(new GridNewValue()).getColorValue()时,它将调用父项中的方法。