我有一个班级
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)
。我知道我的做法有些严重。
请帮我继续
答案 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()
时,它将调用父项中的方法。