首页 > 解决方案 > 以静态方式检查对象之间的碰撞?

问题描述

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

我的方法是在一个方法中实例化这两个Things main,并通过调用一个public boolean sameSpace(Thing one, Thing two)方法来检查它们的坐标是否重叠。这种方法效果很好。

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

我不知道如何从类中进行重叠检查 - 一个对象如何访问另一个对象的坐标?(就此而言,一个对象如何甚至“知道”另一个对象存在?)在我看来,重叠检查必须非静态地进行。

有什么想法吗?

标签: javacollision-detection

解决方案


我知道直接回答家庭作业问题是禁忌,但我认为您理解作业并且只是对细节感到困惑。你的教授很可能想要这样的东西。

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)


推荐阅读