Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java调用一个超类方法_Java_Inheritance - Fatal编程技术网

Java调用一个超类方法

Java调用一个超类方法,java,inheritance,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*mi

我有一节课

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还很陌生。基本上我想打印super的
getColorValue(value)
方法返回的
值。我知道我的方法有严重错误。

请帮我继续

你的方法很好:)

您创建了一个类,并从她那里继承,然后使用她的一个方法


当然,如果您没有任何要添加到GridNewValue的内容,因此不需要重写,但这是可以的,因为您没有重写子类中的方法,使用子类实例调用该方法将自动调用超类定义。

基本上,您已经在执行您希望代码执行的操作。

如果您不重写
getColorValue()
,则无论如何都会调用超类的实现。因此,你已经走上了正确的轨道

只有一个小语法错误:

public GridNewValue(double min, max)
应该是

public GridNewValue(double min, double max)

在java中,子类(在您的例子中是
GridNewValue
自动具有与其父类相同的属性。因此,除非您在
GridNewValue
类中重写
getColorValue()
,否则在调用
(new GridNewValue()).getColorValue()
时,它将调用父级中的方法。

您期待什么?调用super的
getColorValue(value)
方法不是吗?为什么你认为有什么问题?我看不出有什么问题;这应该是有效的,并且基本上是你想要的。