Topic: interface 问题

  Print this page

1.interface 问题 Copy to clipboard
Posted by: 浪迹天
Posted on: 2006-11-21 21:03

package interface2;

interface CanFight{
  void fight();
}

interface CanSwim{
  void swim();
}

interface CanFly{
  void fly();
}

class ActionCharacter{
  public void fight(){
    
  }
}

class Hero extends ActionCharacter implements CanFight,CanSwim,CanFly
{

  public void swim() {
    // TODO Auto-generated method stub
    
  }

  public void fly() {
    // TODO Auto-generated method stub
    
  }
  
}

public class Adventure {

  /**
   * @param args
   */
  
  public static void main(String[] args) {
    // TODO Auto-generated method stub

  }

}
为什么Hero 里面没有void fight();方法呢

2.Re:interface 问题 [Re: 浪迹天] Copy to clipboard
Posted by: baler
Posted on: 2006-11-22 09:41

因为你父类里也有一个fight()方法

3.Re:interface 问题 [Re: 浪迹天] Copy to clipboard
Posted by: lisliefor
Posted on: 2006-11-22 15:02

继承一个接口,你必须实现它里面的所有方法;
继承一个类,那么会将父类的所有非静态方法继承下来,如果你的新的需求,需要覆盖某个父类方法的时候,才在子类中,从新给出定义。
Hero类中其实有fight()方法,你可以直接使用它,而它的具体,在父类中已经实现。


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923