我有一个名为Circle的类和另一个名为POINT的类,因此Circle由半径和点(这是圆的中心点)组成。我正在尝试构建一个构造函数,我遇到了错误信息我无法弄清楚这个问题。
(Class Circle,它的开头)
public class Circle extends Shape {
private int radius, x, y;
Point point = new Point(0,0);
public Circle(radius,x, y){
this(5, 3, 6);
}
分类点:
public class Point {
private int xPos,yPos;
public Point(int x, int y){
setxPos(x);
setyPos(y);
}
public int getxPos() {
return xPos;
}
public void setxPos(int xPos) {
this.xPos = xPos;
}
public int getyPos() {
return yPos;
}
public void setyPos(int yPos) {
this.yPos = yPos;
}
...
答案 0 :(得分:1)
更改
public Circle(radius,x, y){
this(5, 3, 6);
}
要
public Circle(int radius,int x, int y){ //need to add types to parameters
this.radius=radius;
this.x=x;
this.y=y;
}
或者如果您打算使用5,3,6作为常数值添加
public Circle(){
this.radius=5;
this.x=3;
this.y=6;
}
答案 1 :(得分:1)
你的构造函数是recursive
,尽管你的声明是错误的,正如其他答案所建议的那样我建议你改变声明,再考虑一下你可能想要在构造函数中初始化radius,x and y
的代码,你可能想要声明一些方法对初始化值进行操作。
public Circle(int radius,int x, int y){
//Remove this from the constructor and perform initialization
this.radius=radius;
this.x=x;
this.y=y
}