以静态方式检查对象之间的碰撞?
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)
完全披露:我正在做家庭作业。作业的一部分是确定两个对象(称它们为 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)