Java类的构造函数

时间:2011-03-25 19:31:58

标签: java constructor

我有这堂课:

当我试图定义一个新的Instense:

Point nir= new Point(double x, double y);

我正在收到错误:

此行有多个标记      - x无法解析为a      变量      - y无法解决      变量

为什么?我希望x和y是通用的,而不是特定的。 我是在一个新的界面上写的。 This is the class

编辑:

我正在尝试将点数类的x0,y0的实现更改为点 在给定的名为“Circle”的界面中。

所以这是圈子的开头,我想做上面的事情:

public class Circle {

private double x0, y0, radius;

所以,请务必将x0,y0的表示更改为点结构。

5 个答案:

答案 0 :(得分:6)

您获得的错误是此代码

new Point(double x, double y);

不是合法的Java。创建对象或调用函数时,不指定参数的类型。相反,您只需提供该类型的值。因此,例如,您可以通过编写

来创建一个点
Point origin = new Point(0.0, 0.0);

或者

double x = 137.0;
double y = 2.71828;
Point myPoint = new Point(x, y);

因为在这两种情况下,编译器已经知道您作为构造函数参数提供的表达式的类型。你不需要(事实上不应该)说他们是双打。

希望这有帮助!

答案 1 :(得分:0)

试试这个:

Point nir= new Point(x, y);

如果不起作用,请显示更多代码。

答案 2 :(得分:0)

您需要像这样创建实例:

Point nir = new Point(x, y);

或者像这样:

Point nir = new Point(15.0, 12.0);

其中x和y是双打。您收到错误是因为在调用构造函数时无法指定参数的类型,因此Point nir = new Point(double x, double y);会导致错误。

答案 3 :(得分:0)

x和y必须已经完成:

所以:

Point nir = new Point(x, y);

答案 4 :(得分:0)

您正在尝试在期望参数时设置参数。尝试:

Point nir= new Point(x, y);

或者:

Point nir= new Point((double) x, (double) y);