以静态方式检查对象之间的碰撞?

Check for collision between objects in a static way?

完全披露:我正在做家庭作业。作业的一部分是确定两个对象(称它们为 Thing 对象)是否具有相同的 x,y 坐标。

我的方法是在 main 方法中实例化两个 Thing,然后通过调用 public boolean sameSpace(Thing one, Thing two) 方法检查它们的坐标是否重叠。这种方法非常有效。

但是,问题的说明说要在 Thing class 中实现一个方法 public static boolean sameSpace(Thing one, Thing two)static 这部分让我感到困惑。

我不知道如何从 class 中进行重叠检查 - 一个对象如何访问另一个对象的坐标? (就此而言,一个对象怎么会 "know" 另一个对象存在?)在我看来,重叠检查必须非静态地完成。

有什么想法吗?

我知道直接回答家庭作业问题是禁忌,但我认为你理解作业,只是在细节上弄糊涂了。您的教授很可能想要这样的东西。

public class Thing {

    public int x, y;

    public static boolean sameSpace(Thing one, Thing two) {
        return one.x == two.x && one.y == two.y;
    }

}

static 只是意味着可以这样调用该方法:

Thing.sameSpace(thing1, thing2)