Java 重写toString时遇到问题
我遇到的主要问题是重写Java 重写toString时遇到问题,java,syntax,overriding,Java,Syntax,Overriding,我遇到的主要问题是重写toString(),以及到底要放什么。如果有人能帮忙,那就太好了 // Circle inherits from GeometricObject and uses Drawable public class Circle extends GeometricObject { private double radius; /**Default constructor*/ public Circle() { this(1.0);
toString()
,以及到底要放什么。如果有人能帮忙,那就太好了
// Circle inherits from GeometricObject and uses Drawable
public class Circle extends GeometricObject {
private double radius;
/**Default constructor*/
public Circle() {
this(1.0);
}
/**Overloaded constructor - construct a circle with a specified radius*/
public Circle(double radius) {
//call the local overloaded constructor and pass it the following: radius, "white", false
this.radius = radius;
}
/**Overloaded constructor - construct a circle with specified radius, filled, and color*/
public Circle(double radius, String color, boolean filled) {
//call the GeometricObject's constructor and pass it color and filled
this.radius = radius;
setColor(color);
setFilled(filled);
}
/**Return radius*/
public double getRadius() {
return radius;
}
/**Set a new radius*/
public void setRadius(double radius) {
this.radius = radius;
}
/**Implement the getArea method defined in GeometricObject*/
public double getArea() {
return radius*radius*Math.PI;
}
/**Implement the getPerimeter method defined in GeometricObject*/
public double getPerimeter() {
return 2*radius*Math.PI;
}
/**Override the equals() method defined in the Object class*/
public boolean equals(Circle circle) {
return this.radius == circle.getRadius();
}
这是代码的主要问题。我需要有关toString()
方法的工作原理和输入内容的帮助
/**Override the toString() method defined in the Object class*/
//output for circle should be: "[Circle] radius = ; color = ; filled = " : insert appropriate variables to the right of the equal sign
@Override
public String toString() {
return [Circle]
}
@Override
public String Draw() {
}
@Override
public String howToDraw() {
}
}
困难在哪里
return "[Circle] radius: "+this.radius+" ; color = "+this.color+";";
如果颜色是私有的(在超级类中),则应使用如下内容:
return "[Circle] radius: "+this.radius+" ; color = "+getColor()+";";
为什么将其标记为
C++
?我无法想象你会认为他们是同一种语言。(删除了标记)我将使用IDE生成的toString()方法,直到您决定要自定义它为止。好的,那么您已经更正了它,只是没有返回什么。。简单地做点像<代码>返回“[Circle]radius=“+radius+”;color=“+color+”;”您将需要某种颜色变量,如字符串颜色
等。。