请参阅构造函数内部的值?

时间:2017-10-07 02:08:04

标签: java eclipse methods constructor get

很抱歉,如果这是愚蠢的,但我是java新手。

我试图将值赋给由构造函数定义但引用构造函数之外的值的变量,我有点困惑。

我遇到的代码片段是:

private int x;
private int y;

public Finish(int i, int j) {

    this.x = i;
    this.y = j;

}

public int getY() {
    return this.y;

}

public int getX() {
    return this.x;

所以基本上在主文件中创建一个新对象'Finish',其初始坐标(即int i和int j)。然后我需要将这些坐标添加到getY和getX方法中,这样我就可以将对象移向它们。

问题是当我在get方法中引用x或y时,它返回到变量的初始声明,因此值为零,而不是查看构造函数中赋给它的值。任何想法如何在get方法中使用int i和int j?感谢。

编辑:

    this.finish = new Finish(this.canvasWidth / 2, Math.abs(rng.nextInt()) % this.canvasHeight);

这是主文件中的代码,它创建了finish对象并指定了它的初始位置(this.canvasWidth / 2是变量i和Math.abs(rng.nextInt())%this.canvasHeight是可变的j)

因此,在finish.java中我告诉它基于int i和int j的位置,但是getX和getY方法仍然保持为0.

1 个答案:

答案 0 :(得分:0)

您尝试做的事情是不可行的,因为只要程序退出构造函数,ij就超出了范围。

这里的代码是正确的,以下是如何使用它的示例:

foo = new Finish(100, 200)
System.out.println(foo.getX()) #prints 100
System.out.println(foo.getY()) #prints 200

但我建议您将ij更改为xy,以便变量名称对最终用户更直观。< / p>