范例程序:
//==================PRogram Description====================== //程序名稱:CH01_04.java //程序目的:抽象類 //=========================================================== //抽象類 abstract class autoMobile { //抽象方法 abstract public void setData(); abstract public void showData(); } //派生類 class BENZ_Serial extends autoMobile { //成員數據 private int carLength, engCC, maxSpeed; //構造函數 public BENZ_Serial (String modelName) { System.out.println("BENZ系列:" + modelName + "基本數據") } //重新定義抽象方法 public void setData() { carLength = 400; engCC = 3200; maxSpeed = 280; } public void getData() { System.out.println(" 車身長度:" + CarLength); } } //主要類 public class CH01_04 { public static void main(String args[]) { //實現抽象類對象 autoMobile myCar = null; //實現派生類對象 BENZ_Serial SLK2000 = BENZ_Serial("SLK2000"); //實現多態 myCar = SLK2000; myCar.setData(); myCar.getData(); } } 接口與抽象類最大的差異在于抽象類在繼承上的限制,一個派生類僅能集成單一基類,而接口可以在一個類中實現多個接口。另外,抽象類至少包含一個完整方法,接口都是抽象方法。 //==================Program Description====================== //程序名稱:CH01_05.java //程序目的:接口操作 //=========================================================== //聲明接口一 interface autoMobile_setData { void setData(); } //聲明接口二 interface autoMobile_getData { void getData(); } //接口實現方法 class CH01_05 implements autoMobile_setData, autoMobile_showData { int carLength, engCC, maxSpeed; public CH01_05(String modelName) { System.out.println("BENZ系列:" + modelName + "基本數據"); } //重新定義抽象方法 public void setData() { carLength = 400; engCC = 3200; maxSpeed = 280; } public void showData() { System.out.println(" 車身長度:" + CarLength); } //主程序分塊 public static void main(String args[]) { BENZ_Serial SLK2000 = BENZ_Serial("SLK2000"); SLK2000.setData(); SLK2000.getData(); } }新聞熱點
疑難解答