介面特點(最基礎)

2021-08-15 03:22:02 字數 1803 閱讀 2060

介面是一種能力,也是一種規範。

只要乙個類繼承了乙個介面,這個類就必須實現這個介面中所有的成員

介面的功能要單一

為了多型。

介面不能被例項化。

也就是說,介面不能new(不能建立物件)

跟抽象類是一樣的,因為建立物件也沒意義。

介面中的成員不能加「訪問修飾符」,介面中的成員訪問修飾符為public,不能修改。

類中的成員預設的訪問修飾符是private ,而介面中預設的訪問修飾符是public

(預設為public)

介面中的成員不能有任何實現(「光說不做」,只是定義了一組未實現的成員)。

介面中只能有方法、屬性、索引器、事件,不能有「字段」和建構函式。

介面與介面之間可以繼承 

介面並不能去繼承乙個類,而類可以繼承介面  (介面只能繼承於介面,而類既可以繼承介面,也可以繼承類)

實現介面的子類必須實現該介面的全部成員。

乙個類可以同時繼承乙個類並實現多個介面,如果乙個子類同時繼承了父類a,並實現了介面ia,那麼語法上a必須寫在ia的前面。

class myclass:a,ia{},因為類是單繼承的。

顯示實現介面的目的:解決方法的重名問題

什麼時候顯示的去實現介面:

當繼承的介面中的方法和引數一摸一樣的時候,要是用顯示的實現介面

當乙個抽象類實現介面的時候,需要子類去實現介面。

例子1using system;

using system.collections.generic;

using system.linq;

using system.text;

namespace 介面

}class peson

}class student : peson ,ikoulan//學生想吃喝 還想扣籃   可是不能繼承兩個類  因此把扣籃做成介面

}class teacher : peson, ikoulan//學生想吃喝 還想扣籃   可是不能繼承兩個類  因此把扣籃做成介面

}inte***ce ikoulan

class nbaplayer : peson}}

例子2using system;

using system.collections.generic;

using system.linq;

using system.text;

namespace 介面2

;foreach (ifly i in flys)

console.readkey();}}

class bird//父類 儲存共性屬性

}inte***ce ifly

class mabird : bird, ifly

}class tuobird : bird

class yingwubird : bird, ifly

}class plame : ifly}}

例3using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace _15介面登記案例

static void dengji(idengji dj)

}inte***ce idengji

class person : idengji

}class house : idengji

}class car : idengji

}class money : idengji}}

Map介面特點

注意 是jdk8的map介面特點 map與collection並列存在。用於儲存具有對映關係的資料 key value map中的 key 和 value可以是任何引用型別的資料,會封裝到hashmap node物件中 map中的key 不允許重複,原因和hashset一樣,前面分析過原始碼.map...

介面的成員特點

介面的特點 介面用關鍵字inte ce表示 格式 inte ce 介面名 類實現介面用implements 格式 class 類名 implements 介面名 介面的成員特點 成員變數都是常量 沒有構造方法,預設訪問object 成員方法 必須是抽象的 inte ce jiekou1 沒有構造方法...

物件導向 介面特點

物件導向 介面特點 介面是對外暴露的規則。介面是程式的功能擴充套件。類與介面之間是實現。繼承乙個類的同時實現多個介面。介面與介面之間可以有繼承關係。介面 你像我中的乙個 繼承 是所屬我的一種 package lnte ce public class characteristic abstract c...