静态向量乘法 - 没有新对象

时间:2012-07-20 20:26:49

标签: java vector static

有没有办法让静态方法返回一个Vector对象(带有一个简单的整数x和y值作为字段),这是一个Vector乘以一个int值参数。但是,没有新对象,即分配给返回值的对象是否已更改,而不是创建了新的Vector?

以下代码无法实现此目的:

public class Vector{
  public int x,y;

  public Vector(int x,int y){
    this.x = x;
    this.y = y;
  }

  //Important code starts

  public static Vector mult(Vector v,int a){
    return new Vector(v.x*a,v.y*a);
  }

  //Important code stops
}

这段代码就是我所追求的,但它太乱了:

public static Vector mult(Vector v1,Vector v2,int a){
  v1.x = v2.x*a;
  v1.y = v2.y*a;
}

有替代方案吗?

2 个答案:

答案 0 :(得分:3)

为什么不添加:

public void multiply(Vector otherVector, int a){
  x = otherVector.x * a;
  y = otherVector.y * a;
}

到你的Vector类。

答案 1 :(得分:0)

你的意思是?

public void mult(double a) {
    x *= a;
    y *= a;
}