Pat*_*rio 5 java object operator-keyword
我正在开发一个具有名为Vector2的对象的项目
public static class Vector2 {
public Vector2 (float x, float y) {
this.x = x;
this.y = y;
}
public float x;
public float y;
public static Vector2 ZERO = new Vector2 (0, 0);
public static Vector2 FORWARD = new Vector2 (0, 1);
public static Vector2 LEFT = new Vector2 (1, 0);
public static float Distance (Vector2 a, Vector2 b) {
return (float) Math.sqrt(Math.pow(a.x - b.x, 2) + Math.pow(a.y - b.y, 2));
}
}
Run Code Online (Sandbox Code Playgroud)
并希望做到以下几点:
Vector2 a = new Vector2 (2.32, 453.12);
Vector2 b = new Vector2 (35.32, 532.32);
Vector2 c = a * b;
// c.x = 2.32*35.32
// c.y = 453.12*532.32
float num = 5;
c = a * num;
// c.x = 2.32*5
// c.y = 453.12*5
Run Code Online (Sandbox Code Playgroud)
这可能吗?如果是这样我怎么能这样做,它叫什么?提前致谢.
不,Java不支持运算符重载.
作为一个FYI:如果你可以使用其他语言,那么C++和非常类似的C#支持运算符重载.如果您的项目(例如Ray Tracing)有很多与矢量相关的操作,那么我实际上会考虑像C#这样的语言.
归档时间: |
|
查看次数: |
577 次 |
最近记录: |