您好,登錄后才能下訂單哦!
如何在java中定義抽象類和接口?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
Java主要應用于:1. web開發;2. Android開發;3. 客戶端開發;4. 網頁開發;5. 企業級應用開發;6. Java大數據開發;7.游戲開發等。
抽象類
只約定類所具有的抽象行為,沒有具體實現相應行為。
abstract class 類名{ 常量; 變量; 構造(); 訪問修飾符abstract 返回類型 方法名;//抽象方法 普通方法; 靜態方法(); }
1.不適合創建對象。
2.有些功能沒有必要實現,有不同的子類實現。
3.每次使用的都是子類的對象。
4.為所有的子類提供了一個模板,所有的子類都是在此模板的基礎之上添加和修改完善功能而創建出來的。
1.不能創建對象。
2.必須由子類繼承使用。
3.普通的子類必須實現抽象類中的所有抽象方法。(抽象子類除外)
4.構造方法不能是抽象的。
5.abstract不能和private、final、static一起使用。
6.抽象類中的抽象方法不是必須的,可以寫,可以不寫。
abstract class TrafficTool1{ int count; public abstract void run() ;//抽象方法 } class Car2 extends TrafficTool1{ @Override public void run() { System.out.println("汽車在公路上行駛"); } } class Tube2 extends TrafficTool1{ public void run() { System.out.println("地鐵在 地下行駛"); } } public class TestTrafficTool1 { public static void main(String[] args) { Car2 c2 = new Car2(); c2.run(); Tube2 t2 = new Tube2(); t2.run(); } }
提供了一組規則。
訪問修飾符 interface 接口名{//所有成員都是public 常量;//public static final 抽象方法;//public abstract 默認方法;//public default 類型 名(){實現} 靜態方法;//public static 類型 名(){實現} //不能被 實現類繼承 //不能被 子接口繼承 靜態內部類型;//(public static 內部類,內部接口,內部枚舉) }
1.接口不能創建對象。
2.由實現類來實現功能。
3.普通的實現類,必須實現接口中的所有抽象方法。(抽象實現類除外)
4.實現類可以實現多個接口的功能。
5.接口之間可以繼承,而且可以多繼承。
1.靜態方法不能被繼承。靜態方法用 接口名.靜態方法名調用
2.實現多個接口方法名相同的處理
接口在開發中,提供了一組規則和規范,一旦發布了,就不要更改了。
解決問題:用default
interface WebBank{ void webService();//網上支付功能 //public abstract void webService(); default void fd() {} } //實現類 class Jingdong implements WebBank{ @Override public void webService() { System.out.println("京東實現了支付功能"); } public void show() {} } class Taobao implements WebBank{ public void webService() { System.out.println("淘寶實現了支付功能"); } } public class TestWebBank { public static void main(String[] args) { WebBank web = new Jingdong(); web.webService(); web.fd(); // web.show();//屏蔽 /* Jingdong jd = new Jingdong(); jd.webService(); Taobao tb = new Taobao(); tb.webService();*/ } }
接口和抽象類的異同
相同
1.都不能創建對象
2.都需要用子類或實現類來繼承或實現。
3.都可以包含抽象方法。
4.普通的子類或實現類需要實現所有的抽象方法(抽象的除外)。
不同
1.抽象類是個類,是個模板類,為子類提供模板,是個半成品。
2.接口是提供了一個功能,是一個規范。
3.抽象類 子類是單一繼承。
4.實現類 可以實現多個接口。
5.接口之間可以多繼承。
看完上述內容,你們掌握如何在java中定義抽象類和接口的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。