標籤:work java 知識 賦值 abstract 調用 err sde usb
interface USB{ void start(); void stop();}class C{ public static void work(USB u){ u.start(); System.out.println("工作中"); u.stop(); }}class USBDisk implements USB{ @Override public void start() { System.out.println("隨身碟開始工作"); } @Override public void stop() { System.out.println("隨身碟停止工作"); } }class Printer implements USB{ @Override public void start() { System.out.println("印表機開始工作"); } @Override public void stop() { System.out.println("印表機停止工作"); } }public class AbsDemo01 { public static void main(String[] args) { C.work(new USBDisk()); C.work(new Printer()); } }
分析:
1、在介面中,有兩個抽象的方法,void start()和void stop()。其實在這兩個抽象方法中,前面public abstract被省略了。
2、在類 C中,建立了一個work類方法。而在main()方法中,又用到了C.word(new USBDisk())和C.word(new Printer())。在這裡直接用類名.方法名進行調用方法,用到了static關鍵字的知識。使用static修飾的類叫做類方法,類方法可以由類名直接調用,也可由執行個體對象進行調用。(建議用類名直接調用,因為可以直接省略了用new執行個體化的步驟,更簡潔,更方便)
3、在main()方法中,C.work(new USBDisk)進行傳送參數時, 用到了父類聲明和子類執行個體化的知識。我們可以這樣來理解:USB u = new USBDisk,聲明部分為介面,賦值部分為實作類別的這個對象u,在調用重寫的抽象方法時,是調用實作類別的方法。
java 筆記(4)介面