How to call inherited method of superclass from the overridden subclass method?
我有一个类形状,它有一个toString()方法。我有另一个类圆,扩展形状。此Circle类重写继承的ToString()方法。我要做的是从圆的toString()方法内部调用superclass-shape的toString()方法。以下是我迄今为止所做的工作。我认为在圆的toString()中调用toString()可能会调用继承的toString(),但这只是进入一个无限循环。
形状类:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| class shape {
String color ;
boolean filled ;
shape ()
{
color ="green";
filled = true;
}
shape (String color, boolean fill )
{
this. color = color ;
this. filled = fill ;
}
public String toString ()
{
String str ="A Shape with color =" + color +" and filled =" + filled +" .";
return str ;
}
} |
圆类:
1 2 3 4 5 6 7 8 9 10 11 12
| class circle extends shape
{
double radius ;
circle ()
{
this. radius = 1.0;
}
public String toString ()
{
String str ="A circle with radius" + radius +" and which is a subclass of" + toString ();
return str ;
} |
号
请帮忙!
- 你在找super.toString();。
- 你需要在这里使用"super"关键字
- 试试String str ="A circle with radius" + radius +" and which is a subclass of" + super.toString();。
- 您的代码示例无法编译。当请求帮助时,最好呈现出清晰、简洁和(涉及代码的地方)语法正确的内容。
必须在重写方法内调用super.toString()。
你可以使用super.:
1 2 3 4 5 6
| // In Circle
public String toString () {
String shapeString = super. toString();
// ...
return /*...*/;
} |