我正在制作一个简单的 2D 物理引擎,这是我制作任何类型的物理引擎的第一次尝试。不幸的是,对于任何热衷于教授物理的人来说,这不是一个与物理相关的问题。我只是想知道是否有一种方法可以定义一些简单的东西,例如自定义类的添加。例如,我创建了一个名为 Vector2D 的类。如果我有一个速度 vector 和一个加速度 vector ,最简单的方法是使用以下代码:
Vector2D velocity = new Vector2D(xAxisVelocity, yAxisVelocity);
Vector2D acceleration = new Vector2D(xAxisAcceleration, yAxisAcceleration);
void update() {
velocity += acceleration;
}
但是,由于速度和加速度不是原始类型,所以我不能将它们简单地相加。据我现在所知,我必须将它们的组件添加在一起,如下所示:
velocity.x += acceleration.x
..等等..
我想知道的是:有没有一种方法可以定义类的加法,类似于toString()
可以被覆盖吗?
为了澄清这一点,对我来说,创建一个将两个 vector 相加的方法并不是什么大不了的事,我只是想知道是否可以覆盖。
最佳答案
不,Java 中没有运算符重载。这是一种设计选择,也是我们必须忍受的。
关于java - 在 Java 中为自定义类定义 +=,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34820909/