学习有关对象的基础知识

时间:2016-01-16 07:33:45

标签: java

public class Vector {
    private final double deltaX,deltaY;

    public Vector(double deltaX, double deltaY) {
        this.deltaX = deltaX;
        this.deltaY = deltaY;

    public Vector plus(Vector(a, b)){
        return new Vector(this.deltaX+a,this.deltaY+b);
    }

当我尝试创建一个向现有向量添加新向量的方法时,为什么这不起作用? 我将deltaX定义为水平分量,将deltaY定义为垂直分量。

2 个答案:

答案 0 :(得分:1)

您没有使用正确的语法。你的方法应该是:

public Vector plus(Vector other) {
    return new Vector(this.deltaX + other.deltaX, this.deltaY + other.deltaY);
}

这样,有人可以将Vector实例传递给方法。

答案 1 :(得分:0)

应该是:

public Vector plus(Vector v) {
    return new Vector(this.deltaX + v.getDeltaX(),
                      this.deltaY + v.getDeltaY());
}

您定义这些getter方法的位置。或者,公开deltaXdeltaY并直接从v访问它们。