由於extends不能單一繼承一般類別,為了達到多重繼承的目的,
在介面類別中可以多重繼承介面類別,來模擬一般類別的多重繼承
多重繼承寫法:extends 介面類別1, 介面類別2 ,介面類別3 ...
必須全部都是介面類別
介面宣告寫法:[存取權限] interface 介面名稱 [extends ...]
使用介面的類別用implements來實作,不可用new建立實體
且全部方法都會編譯成抽象方法
實作介面寫法:[存取權限] class 類別名稱 implements [extends ...]
public interface Pet {
String attr = "cute"; //必須給予初值
void skill(); //不能實作函式
void move(); //不能實作函式
}
javac會自動編譯成下方程式碼
public interface Pet {
public static final String attr = "cute";
public abstract void skill();
public abstract void move();
}
所以存取權限必須只能用default和public,否則會錯誤
下方程式碼寫了一個Dog來實做Pet
public class Dog implements Pet{
public void skill(){
System.out.println("玩球");
}
public void move(){
System.out.println("跑跑跳跳");
}
public static void main(String[] args) {
Dog dog = new Dog();
dog.skill();
dog.move();
}
}
0 意見 :
張貼留言