我有一个名为ChristopherRobin的类(HundredAcreWoodsCharacter的子类),其中有一个名为FindTail()的方法。

在另一个类Eeyore(也是HundredAcreWoodsCharacter的子类)中,我想尝试使用FindTail()中的ChristopherRobin方法。我不确定该怎么做。我试过了

    if (ChristopherRobin.hasTail())


但这给了我错误:

non-static method hasTail() cannot be referenced from a static context


如果有人可以帮助,那就太好了,谢谢。

另外,值得一提的是,这是在GridWorld中完成的(来自AP Computer Science案例研究)。 HundredAcreWoodsCharacterCritter的子类。

最佳答案

您正在类上调用非静态方法,这是无法完成的。您需要首先创建ChristopherRobin对象,然后在该对象上调用方法。

// create the ChristopherRobin object and put in the christopherRobin variable
ChristopherRobin christopherRobin = new ChristopherRobin();

// now call the method on the *object* held by the variable
if (christopherRobin.hasTail()) {
  // do something
}

09-30 10:51