最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java抽象類和接口定義與用法詳解

 更新時間:2020年02月12日 09:23:11   作者:扎心了,老鐵  
這篇文章主要介紹了java抽象類和接口定義與用法,結合實例形式詳細分析了java抽象類和接口的基本概念、原理、定義、使用方法及操作注意事項,需要的朋友可以參考下

本文實例講述了java抽象類和接口定義與用法。分享給大家供大家參考,具體如下:

抽象類

抽象類定義

只約定類所具有的抽象行為,沒有具體實現(xiàn)相應行為。

語法格式

abstract class 類名{
 常量;
 變量;
 構造();
 訪問修飾符abstract 返回類型 方法名;//抽象方法
 普通方法;
 靜態(tài)方法();
}

應用場景

1.不適合創(chuàng)建對象。

2.有些功能沒有必要實現(xiàn),有不同的子類實現(xiàn)。

3.每次使用的都是子類的對象。

4.為所有的子類提供了一個模板,所有的子類都是在此模板的基礎之上添加和修改完善功能而創(chuàng)建出來的。

注意事項

1.不能創(chuàng)建對象。

2.必須由子類繼承使用。

3.普通的子類必須實現(xiàn)抽象類中的所有抽象方法。(抽象子類除外)

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();
 }
}

接口

定義接口

提供了一組規(guī)則。

訪問修飾符 interface 接口名{//所有成員都是public
 常量;//public static final
 抽象方法;//public abstract
 默認方法;//public default 類型 名(){實現(xiàn)}
 靜態(tài)方法;//public static 類型 名(){實現(xiàn)}
   //不能被 實現(xiàn)類繼承
   //不能被 子接口繼承
 靜態(tài)內部類型;//(public static 內部類,內部接口,內部枚舉)
}

接口特點

1.接口不能創(chuàng)建對象。

2.由實現(xiàn)類來實現(xiàn)功能。

3.普通的實現(xiàn)類,必須實現(xiàn)接口中的所有抽象方法。(抽象實現(xiàn)類除外)

4.實現(xiàn)類可以實現(xiàn)多個接口的功能。

5.接口之間可以繼承,而且可以多繼承。

接口注意事項

1.靜態(tài)方法不能被繼承。靜態(tài)方法用 接口名.靜態(tài)方法名調用

2.實現(xiàn)多個接口方法名相同的處理

接口在開發(fā)中,提供了一組規(guī)則和規(guī)范,一旦發(fā)布了,就不要更改了。

解決問題:用default

interface WebBank{
 void webService();//網上支付功能
 //public abstract void webService();
 default void fd() {}
}
//實現(xiàn)類
class Jingdong implements WebBank{
 @Override
 public void webService() {
  System.out.println("京東實現(xiàn)了支付功能");
 }
 public void show() {}
}
class Taobao implements WebBank{
 public void webService() {
  System.out.println("淘寶實現(xiàn)了支付功能");
 }
}
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.都不能創(chuàng)建對象

2.都需要用子類或實現(xiàn)類來繼承或實現(xiàn)。

3.都可以包含抽象方法。

4.普通的子類或實現(xiàn)類需要實現(xiàn)所有的抽象方法(抽象的除外)。

不同

1.抽象類是個類,是個模板類,為子類提供模板,是個半成品。

2.接口是提供了一個功能,是一個規(guī)范。

3.抽象類 子類是單一繼承。

4.實現(xiàn)類 可以實現(xiàn)多個接口。

5.接口之間可以多繼承。

更多關于java算法相關內容感興趣的讀者可查看本站專題:《Java面向對象程序設計入門與進階教程》、《Java數(shù)據結構與算法教程》、《Java操作DOM節(jié)點技巧總結》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總

希望本文所述對大家java程序設計有所幫助。

相關文章

  • java 使用poi 導入Excel數(shù)據到數(shù)據庫的步驟

    java 使用poi 導入Excel數(shù)據到數(shù)據庫的步驟

    這篇文章主要介紹了java 使用poi 導入Excel 數(shù)據到數(shù)據庫的步驟,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2020-12-12
  • MyBatis中的mapper.xml配置教程

    MyBatis中的mapper.xml配置教程

    這篇文章主要介紹了MyBatis中的mapper.xml配置,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-01-01
  • Java中@ConfigurationProperties實現(xiàn)自定義配置綁定問題分析

    Java中@ConfigurationProperties實現(xiàn)自定義配置綁定問題分析

    這篇文章主要介紹了@ConfigurationProperties實現(xiàn)自定義配置綁定問題,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • java面向對象之學生信息管理系統(tǒng)

    java面向對象之學生信息管理系統(tǒng)

    這篇文章主要為大家詳細介紹了java面向對象之學生信息管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • MybatisPlus分頁查詢與多條件查詢介紹及查詢過程中空值問題的解決

    MybatisPlus分頁查詢與多條件查詢介紹及查詢過程中空值問題的解決

    mybatisplus是個很好用的插件,相信小伙伴們都知道,下面這篇文章主要給大家介紹了關于mybatis-plus實現(xiàn)分頁查詢與多條件查詢介紹及查詢過程中空值問題的相關資料,需要的朋友可以參考下
    2022-10-10
  • springboot整合gateway的詳細過程

    springboot整合gateway的詳細過程

    本文介紹了如何配置和使用Spring Cloud Gateway構建一個API網關,通過實例代碼介紹了springboot整合gateway的過程,需要的朋友可以參考下
    2025-01-01
  • java分布式基于RestTemplate的使用方法

    java分布式基于RestTemplate的使用方法

    這篇文章主要為大家介紹了java分布式基于RestTemplate的使用方法說明,有需要的朋友可以借鑒參考下希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-02-02
  • java實現(xiàn)雙向鏈表的增刪改

    java實現(xiàn)雙向鏈表的增刪改

    這篇文章主要為大家詳細介紹了java實現(xiàn)雙向鏈表的增刪改,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • SpringBoot使用OpenCV的超詳細步驟

    SpringBoot使用OpenCV的超詳細步驟

    最近有個項?需要對圖?圖像進?處理,使?到了開源框架OpenCV,所以下面這篇文章主要給大家介紹了關于SpringBoot使用OpenCV的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-04-04
  • Java中zip的壓縮和解壓縮的實現(xiàn)代碼

    Java中zip的壓縮和解壓縮的實現(xiàn)代碼

    這篇文章主要介紹了Java中zip的壓縮和解壓縮的實現(xiàn)代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02

最新評論

乐东| 巴东县| 郓城县| 务川| 荔浦县| 广水市| 孙吴县| 岑巩县| 拉萨市| 仁化县| 喀什市| 金乡县| 盐山县| 远安县| 吉木乃县| 图木舒克市| 万州区| 靖宇县| 鱼台县| 北碚区| 正宁县| 五寨县| 南通市| 文登市| 平邑县| 洪湖市| 乐至县| 简阳市| 马龙县| 沙湾县| 吴桥县| 镇赉县| 石家庄市| 常州市| 蓬莱市| 林州市| 武夷山市| 贡嘎县| 淳化县| 湘潭县| 兰溪市|