我有一个名为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案例研究)。 HundredAcreWoodsCharacter
是Critter
的子类。 最佳答案
您正在类上调用非静态方法,这是无法完成的。您需要首先创建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
}