我有此错误消息
./MyCircle.java:13: cannot find symbol
symbol : constructor MyEllipse(MyPoint,int,int)
location: class MyEllipse
super(position, radius*2, radius*2);
我的代码是
public class MyCircle extends MyEllipse {
final String TYPE = "Circle";
public double radius;
public MyCircle(int radius, MyPoint position) {
super(position, radius*2, radius*2);
this.radius = radius;
}
public void printDetails() {
double area = CalcArea();
System.out.println("The shape is " +TYPE);
System.out.println("The area is " +area);
}
} // class end
答案 0 :(得分:3)
您正在尝试调用MyEllipse
中的构造函数,该构造函数可以将MyPoint
和两个int
值作为参数。编译器告诉你它找不到这样的构造函数。当然, 并不具有该签名。它可以调用
MyEllipse(Object, double, int)
MyEllipse(MyPoint, long, long)
或类似的东西,只要有三个参数,MyPosition
可以分配转换为第一个参数,int
可以分配转换为第二个和第三个。
(严格来说,也可能有一个varargs构造函数,但暂时忽略它......)
如果没有看到MyEllipse
的代码,我们无法确定实际可用的内容。查看构造函数并检查您确实要调用哪一个。
答案 1 :(得分:2)
IT表示没有
的构造函数(position, radius*2, radius*2);
签名MyEllipse
super(position, radius*2, radius*2);
答案 2 :(得分:0)
我们需要查看MyEllipse源代码。但我猜你的问题是MyEllipse中没有带有签名“MyPoint,int,int”的构造函数。