精華筆記: 介面: 是一種數據類型(引用類型) 由interface定義 只能包含常量和抽象方法(所有數據預設都是常量,所有方法預設都是抽象的) 介面不能被實例化 介面是需要被實現/繼承的,實現/派生類:必須重寫所有抽象方法 一個類可以實現多個介面,用逗號分隔。若又繼承又實現時,應先繼承後實現。 接 ...
精華筆記:
- 介面:
- 是一種數據類型(引用類型)
- 由interface定義
- 只能包含常量和抽象方法(所有數據預設都是常量,所有方法預設都是抽象的)
- 介面不能被實例化
- 介面是需要被實現/繼承的,實現/派生類:必須重寫所有抽象方法
- 一個類可以實現多個介面,用逗號分隔。若又繼承又實現時,應先繼承後實現。
- 介面可以繼承介面
筆記:
-
介面:
-
是一種數據類型(引用類型)
-
由interface定義
-
只能包含常量和抽象方法(所有數據預設都是常量,所有方法預設都是抽象的)
-
介面不能被實例化
-
介面是需要被實現/繼承的,實現/派生類:必須重寫所有抽象方法
-
一個類可以實現多個介面,用逗號分隔。若又繼承又實現時,應先繼承後實現。
-
介面可以繼承介面
//介面的演示 public class InterfaceDemo { public static void main(String[] args) { //Inter5 o = new Inter5(); //編譯錯誤,介面不能被實例化 Inter5 o1 = new Doo(); //向上造型 Inter4 o2 = new Doo(); //向上造型 } } //演示介面的語法 interface Inter{ public static final int NUM = 5; public abstract void show(); int COUNT = 5; //預設public static final void test(); //預設public abstract //int number; //編譯錯誤,常量必須聲明同時初始化 //void say(){ } //編譯錯誤,抽象方法不能有方法體 } //演示介面的實現 interface Inter1{ void show(); void test(); } class Aoo implements Inter1{ public void show(){} //重寫介面中的抽象方法時,必須加public許可權 public void test(){} } //演示介面的多實現 interface Inter2{ void show(); } interface Inter3{ void test(); } abstract class Boo{ abstract void say(); } class Coo extends Boo implements Inter2,Inter3{ public void show(){} public void test(){} void say(){} } //演示介面繼承介面 interface Inter4{ void show(); } interface Inter5 extends Inter4{ void test(); } class Doo implements Inter5{ public void test(){} public void show(){} }
-
補充:
-
水雷入場、戰艦移動的功能可以CV的代碼:
KeyAdapter k = new KeyAdapter() { public void keyReleased(KeyEvent e) { //當按鍵抬起時會自動觸發---不要求掌握 if(e.getKeyCode()==KeyEvent.VK_SPACE){ //若抬起的是空格鍵---不要求掌握 } if(e.getKeyCode()==KeyEvent.VK_LEFT){ //若抬起的是左箭頭---不要求掌握 } if(e.getKeyCode()==KeyEvent.VK_RIGHT) { //若抬起的是右箭頭---不要求掌握 } } }; this.addKeyListener(k); //添加偵聽---不要求掌握
-
類中成員的預設訪問許可權---------預設的
介面中成員的預設訪問許可權------public的
重寫介面中的抽象方法時,必須加public許可權
-
類和類------------------------繼承
介面和介面------------------繼承
類和介面---------------------實現
-
能夠造型成為的類型:超類+所實現的介面
-
設計規則:
-
將所有派生類所共有的屬性和行為,抽到超類中-------------抽共性
-
若派生類的行為(實現代碼)都一樣,設計為普通方法
若派生類的行為(實現代碼)都不一樣,設計為抽象方法
-
將部分派生類所共有的屬性和行為,抽到介面中
介面是對繼承的單根性的擴展--------------實現多繼承
介面是一個標準、一種規範,實現了介面就能幹某件事,不實現介面就幹不了那個事
-
-
如何調錯:---------------------幫助我們找到問題位置所在
-
快速鎖定問題方法:
-
將方法調用的代碼全都註釋掉,然後一個一個放開,
放開哪個出錯了,說明問題就出在那個方法上。
-
-
打樁: System.out.println(數據);
-