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("・・・");
}
}