Java(接口)

能夠作為介面的條件

抽象类的顶级(最高层)
①所有的方法都是抽象方法
②通常不具有字段的

高度抽象化的Human类

public abstract class Human {     //上の①②を満たしている
  public abstract void run();
}

将 Human 类声明为接口。

public interface Human {
  void run();                        //public abstract を省略可能
}

接口的实现

public class Hero implements Human { 
}

通过接口实现多重继承

public class PrincessHero 
    implements Hero, Princess {    //親のインターフェースを複数継承できる
}

在课程中不能进行多重继承,但如果使用接口的话是可以的。

继承接口

public interface Human extend Creature {
  void talk();
  void watch();
  void hear();
  //さらに、親インターフェースからrun()を継承している
}

在Java中,我们使用”implements(实现)”来实现接口,而使用”extend(扩展、继承)”来继承类。

    クラス同士、インターフェース同士ならextend(継承)

    クラスでインターフェースを使う(異種)ならimplements(実装)

使用implements(实现)和extend(扩展)两者都可以使用的类的定义

public class Hero extends Charaater implements Human{
  // Charaaterからhpやnameなどのフィールドを継承
  // Charaaterから継承した抽象メソッドattack()実装
  public void attack(Goblin g) {
    System.out.println(this.name + "5のダメージをあたえた");
  }
  // さらにHumanから継承した4つの抽象メソッドを実装
  public void talk(){
    System.out.println("・・・");
  }
  public void watch(){
    System.out.println("・・・");
  }
  public void hear(){
    System.out.println("・・・");
  }
  public void run(){
    System.out.println("・・・");
  }
}
bannerAds