JAVA面對對象(五)——接口。本站提示廣大學習愛好者:(JAVA面對對象(五)——接口)文章只能為提供參考,不一定能成為您想要的結果。以下是JAVA面對對象(五)——接口正文
接口由全局常量和公共的抽象方法組成,接口的定義格式:
1 interface 接口名稱{ 2 全局常量; 3 抽象方法; 4 }
接口中的抽象方法必須定義為public訪問權限,在接口中如果不寫也默認是public訪問權限
接口的定義:
1 interface A{ 2 public static final String AUTHOR = "張宇"; //定義全局常量 3 public abstract void print(); //定義抽象方法 4 public abstract String getInfo(); //定義抽象方法 5 }
但是在接口的定義中已經聲明了接口是由全局常量和抽象方法組成的,所以可以簡化為以下格式:
1 interface A{ 2 String AUTHOR = "張宇"; //等價於:public static final String AUTHOR = "張宇"; 3 void print(); //等價於:public abstract void print(); 4 String getInfo(); //等價於:public abstract String getInfo(); 5 }
與抽象類一樣,接口若要使用也必須通過子類,子類通過implement關鍵字實現接口:
1 class 子類 implement 接口A,接口B,...{ 2 }
實現接口:
1 interface A { 2 public String AUTHOR = "張宇"; 3 public void print(); 4 public String getInfo(); 5 } 6 interface B { 7 public void say(); 8 } 9 class X implements A,B{ //子類同時實現兩個接口 10 @Override 11 public void say() { //覆寫接口B中的抽象方法 12 System.out.println("Hello World"); 13 } 14 @Override 15 public void print() { //覆寫接口A中的抽象方法 16 System.out.println("姓名:"+AUTHOR); 17 } 18 @Override 19 public String getInfo() { //覆寫接口A中的抽象方法 20 return "Hello"; 21 } 22 } 23 public class Demo { 24 public static void main(String[] args) { 25 X x = new X(); 26 x.say(); //調用被覆寫過的方法 27 x.print(); 28 } 29 }
除此之外,接口也可以繼承,且多繼承
1 interface 子接口 extends 父接口A,父接口B,...{ 2 }
如果一個子類又要繼承抽象類又要繼承接口,可用以下格式:
1 class 子類 extends 抽象類 implement 接口A,接口B,...{ 2 }