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

C#多接口實現(xiàn)、重名成員、顯式實現(xiàn)、接口繼承+抽象類和接口區(qū)別說明

 更新時間:2026年06月06日 10:00:15   作者:z落落  
這段SEO描述融合了“接口顯式實現(xiàn)”、“接口沖突”、“接口繼承”三個核心關鍵詞,詳細概括了文章關于Java接口相關知識點的講解,包括顯式實現(xiàn)規(guī)則、沖突接口處理方法、接口繼承規(guī)則等內容,適合準備相關考試或項目開發(fā)的讀者

一、核心知識點前置(必考)

1. 多接口沖突場景

當一個類同時實現(xiàn)多個接口,出現(xiàn):同名但返回類型不同的屬性/方法 → 必須使用 接口顯式實現(xiàn)。

2. 顯式實現(xiàn)規(guī)則

  • 格式:接口名.成員名
  • 不能加 public 修飾符(默認私有)
  • 只能通過 對應接口變量 訪問,不能通過類對象訪問

3. 隱式實現(xiàn)

同名、同類型成員,只需要實現(xiàn)一次,所有接口共用。

二、沖突接口定義 IA、IB

interface IA 
{ 
    int A { get; set; }
    string B { get; set; }
    string C { get; set; }
    void F1();
}
interface IB
{
    string B { get; set; }
    int C { get; set; }
    void F1(int a);
}

沖突分析

1. B 屬性:IA、IB 都是 string B → 同名同類型 → 無需沖突,隱式實現(xiàn)一次即可

2.C 屬性

  • IA:string C
  • IB:int C

同名、類型不同 → 嚴重沖突,必須顯式實現(xiàn)

3. F1 方法:方法簽名不同(無參/有參),屬于重載,不沖突

三、Test 類實現(xiàn)多接口(核心考點)

class Test:IA, IB
{
    // 隱式實現(xiàn):共用同名同類型成員
    public int A { get; set; }
    public string B { get; set; }

    // 顯式實現(xiàn) IA 的 C(string類型)
    string IA.C { get; set; }

    // 顯式實現(xiàn) IB 的 C(int類型)
    int IB.C {  get; set; }

    // 無參F1 實現(xiàn) IA
    public void F1()
    {

    }

    // 有參F1 實現(xiàn) IB
    public void F1(int a)
    {

    }
}

逐行解析

1. public string B

兩個接口 B 都是 string 類型,實現(xiàn)一次,兩個接口共用

2. string IA.C {get;set;}

顯式實現(xiàn) IA 的 C 屬性,無訪問修飾符

3. int IB.C {get;set;}

顯式實現(xiàn) IB 的 C 屬性,無訪問修飾符

4. 兩個 F1 方法參數(shù)不同,構成方法重載,分別對應兩個接口

顯式實現(xiàn)核心規(guī)則(背誦)

多個接口:名字相同、類型不同 = 必須顯式實現(xiàn)

多個接口:名字相同、類型相同 = 實現(xiàn)一次共用

四、Main 方法調用解析

IA t1 =  new Test();
t1.C = "11";  // 調用 IA的 string C

IB i1 = new Test();
i1.C = 10;    // 調用 IB的 int C

原理

顯式實現(xiàn)的成員 只能通過對應接口變量訪問

  • 1. 接口 IA 變量 → 只能找到 IA.C(string)
  • 2. 接口 IB 變量 → 只能找到 IB.C(int)
  • 3. 不能用 Test 類對象直接點 C,會報錯

五、接口的繼承(接口拓展)

interface IC
{
    string B { get; set; }
}
interface IQ : IC
{
    int C { get; set; }
}

知識點

接口可以繼承接口

IQ 繼承 IC,意味著:

IQ 接口包含自己的所有成員 + 父接口 IC 的所有成員

六、類實現(xiàn)繼承接口(必須實現(xiàn)全部層級成員)

class Test1 : IQ
{
    public int C { get ; set ; }
    public string B { get; set; }
}

規(guī)則(必考原話)

如果一個類實現(xiàn)了子接口,子接口繼承了父接口,當前類必須實現(xiàn)【所有父接口+子接口】的全部成員

Test1 實現(xiàn) IQ,IQ 繼承 IC

所以必須實現(xiàn):

IC 的 B 屬性 + IQ 的 C 屬性

七、接口 VS 抽象類(滿分簡答題標準答案)

相同點

  • 1. 都不能被實例化
  • 2. 都可以包含未實現(xiàn)的成員,由派生類實現(xiàn)

不同點(逐條背誦)

1. 成員結構不同

  • 抽象類:可以有普通成員(有方法體)、字段、抽象成員
  • 接口:全部成員都是抽象、無實現(xiàn)

2. 繼承數(shù)量不同

  • 抽象類:類只能單繼承
  • 接口:類可以多實現(xiàn)

3. 重寫方式不同

  • 抽象類:子類必須用 override 重寫

  • 接口:直接實現(xiàn),不需要 override

4. 訪問修飾符不同

  • 抽象類:可以使用任意訪問修飾符

  • 接口:成員默認public,不能手動寫修飾符

5. 成員類型不同

  • 抽象類:可以有 字段、屬性、方法

  • 接口:不能有字段,只能有屬性、方法

對比維度

抽象類 abstract

接口 interface

成員類型

可以有普通方法、字段、屬性、抽象方法

只能有屬性、方法,不能有字段、普通實現(xiàn)

繼承數(shù)量

單繼承,一個類只能繼承一個抽象類

多實現(xiàn),一個類可實現(xiàn)無數(shù)接口

重寫方式

必須用 override 重寫

直接實現(xiàn),不需要 override

訪問修飾符

支持所有訪問修飾符

默認public,不能手動修改

主體功能

代碼復用、模板類

規(guī)范、行為約束、多態(tài)

八、終極總結口訣

  • 多接口同名同類型,實現(xiàn)一次就夠用
  • 多接口同名不同型,顯式實現(xiàn)分清楚
  • 顯式實現(xiàn)無修飾,只能接口變量讀
  • 接口可多可繼承,全部成員要實現(xiàn)
  • 抽象有體有字段,接口全抽

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • C#二分查找算法實例分析

    C#二分查找算法實例分析

    這篇文章主要介紹了C#二分查找算法,實例分析了C#二分查找的相關技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • c#中?的六種用途

    c#中?的六種用途

    ? 是一個多用途的符號,具有多種不同的用途,本文主要介紹了c#中?的六種用途,具有一定的參考價值,感興趣的可以了解一下
    2025-04-04
  • C#中遍歷DataSet數(shù)據集對象實例

    C#中遍歷DataSet數(shù)據集對象實例

    這篇文章主要介紹了C#中遍歷DataSet數(shù)據集對象實例,經常忘記如何操作DataSet,這里記下來并分享,讓需要的朋友可以參考下
    2014-08-08
  • .NET利用C#字節(jié)流動態(tài)操作Excel文件

    .NET利用C#字節(jié)流動態(tài)操作Excel文件

    在.NET開發(fā)中,通過字節(jié)流動態(tài)操作Excel文件提供了一種高效且靈活的方式處理數(shù)據,本文將演示如何在.NET平臺使用C#通過字節(jié)流創(chuàng)建,讀取,編輯及保存Excel文件,需要的可以參考下
    2024-12-12
  • C#獲取時間戳的方法及時間戳轉換問題

    C#獲取時間戳的方法及時間戳轉換問題

    本文主要介紹了C#獲取時間戳的方法及時間戳轉換問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-02-02
  • C# double類型變量比較分析

    C# double類型變量比較分析

    這篇文章主要介紹了C# double類型變量比較分析,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • C#?WPF中RadioButton控件的用法及應用場景

    C#?WPF中RadioButton控件的用法及應用場景

    在WPF應用程序中,RadioButton控件是一種常用的用戶界面元素,本文主要介紹了C#?WPF中RadioButton控件的用法及應用場景,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • C#自定義組件實現(xiàn)表格的多層表頭功能

    C#自定義組件實現(xiàn)表格的多層表頭功能

    這篇文章主要為大家詳細介紹了如何使用C#自定義組件實現(xiàn)表格的多層表頭功能,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-12-12
  • 詳解WPF如何動態(tài)生成DataGrid的行和列

    詳解WPF如何動態(tài)生成DataGrid的行和列

    在日常開發(fā)中,DataGrid作為二維表格,非常適合數(shù)據的展示和統(tǒng)計,本文以一些簡單的小例子,簡述在WPF開發(fā)中,如何動態(tài)生成DataGrid的行和列,需要的可以了解下
    2024-02-02
  • C#處理猜拳問題的簡單實例(非窗體)

    C#處理猜拳問題的簡單實例(非窗體)

    下面小編就為大家?guī)硪黄狢#處理猜拳問題的簡單實例(非窗體)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07

最新評論

阿克| 渑池县| 寻乌县| 讷河市| 江油市| 郧西县| 池州市| 石泉县| 孝感市| 宝山区| 克山县| 来安县| 满洲里市| 凌源市| 手机| 佛冈县| 新闻| 卫辉市| 钟祥市| 含山县| 龙口市| 长子县| 朝阳市| 当涂县| 白玉县| 台江县| 东兰县| 中山市| 大邑县| 洛扎县| 邯郸县| 鄯善县| 利川市| 昆明市| 扬中市| 泗阳县| 新绛县| 夹江县| 重庆市| 揭阳市| 长兴县|