我有一个名为"BossCraft“的超类,其中包含一个标记为"move”的空方法。我还有一个扩展BossCraft的类,叫做SharkBoss,它也有一个空的"move“方法。
有没有可能以某种方式调用SharkBoss的"move“方法进入更高的BossCraft方法?
public class BossCraft
{
   public void move
   {
      //SharkBoss's move should go here
   }
}
public class SharkBoss extends BossCraft
{
   public void move
   {
      ...
   }
}发布于 2011-11-18 04:57:35
是的,super.move() (super.表示调用超类(的一个方法))
如果你想做相反的事情--从超类中调用子类--那是不可能的。超类不知道(也不应该知道)它的子类是否存在。
请注意,您的定义在语法上是错误的-您应该使用括号- move()
发布于 2011-11-18 04:58:24
使用
super.move();它将调用其父对象(即其超类实例)的move()函数!
发布于 2011-11-18 05:00:44
如果你想调用父类的方法,用户的超级关键字如果你想调用子类的方法,我会看看抽象类
https://stackoverflow.com/questions/8174170
复制相似问题