接口
1棘街。接口的特性
1接口 可以聲明屬性的類型刮吧,
2接口中的方法都是公共抽象方法。
3.接口中不能擁有構(gòu)造方法啄踊,不能用于創(chuàng)建對象忧设。
4接口可以多繼承。
5一個類可以實現(xiàn)一個或多個接口颠通,該類稱為接口的實現(xiàn)類(implement class),實現(xiàn)類必須實現(xiàn)接口中的所有抽象方法址晕。
6一個類只能繼承一個父類,同時實現(xiàn)多個接口顿锰。集成在前谨垃,實現(xiàn)在后。
特殊情況:如果一個抽象父類定義了和接口同名的抽象方法硼控,實現(xiàn)類實現(xiàn)的是抽象父類的抽象方法刘陶。
總結(jié):實現(xiàn)類實現(xiàn)接口,必須實現(xiàn)接口中定義的抽象方法
方法即行為牢撼,表示一種功能匙隔。
接口定義了一套功能,實現(xiàn)類必須實現(xiàn)這些功能熏版,實現(xiàn)類的能力得到了拓展纷责。
2.接口的應(yīng)用:接口定義的一些系列方法表示的是一種種能力。接口讓實現(xiàn)類實現(xiàn)這些能力撼短,實現(xiàn)類的能力里得到了拓展和升級再膳。實現(xiàn)類根據(jù)自身特性實現(xiàn)接口中定義的方法,
3.接口中的多態(tài)曲横。
接口實現(xiàn)多態(tài):接口類型引用實現(xiàn)類對象喂柒。
繼承實現(xiàn)多態(tài):父類類型引用子類對象,
接口定義的方法被實現(xiàn)類實現(xiàn),通過接口引用實現(xiàn)類時胳喷,調(diào)用接口的方法時,執(zhí)行的是實現(xiàn)類實現(xiàn)的方法夭织,
實現(xiàn)類對象具備接口中定義的能力是一種has a關(guān)系
子類對象是一種父類類型是一種is a方法
3.面向?qū)ο缶幊?/p>
實現(xiàn)類必須實現(xiàn)接口中的所有方法吭露,所以接口規(guī)范了實現(xiàn)類的行為。
接口約定了實現(xiàn)類應(yīng)該具備的行為尊惰。
所謂 面向接口編程讲竿,在程序設(shè)計時,只關(guān)心實現(xiàn)類 具備什么能力弄屡,而不關(guān)心實現(xiàn)類如何實現(xiàn)這個能力题禀,面向接口編程時,面向接口的約定而不考慮接口的具體實現(xiàn)膀捷,也就是說迈嘹,面向接口編程時,接口的定義方只關(guān)心實現(xiàn)類是否具備接口所定義的能力全庸,而實現(xiàn)類如何背的該能力接口定義方一點都不關(guān)心秀仲。
4抽象類的接口的異同比較。
抽象類和接口都是引用數(shù)據(jù)類型壶笼,他們都不能創(chuàng)建對象神僵,他們都可以定義抽象方法,都可以實現(xiàn)多態(tài)覆劈,但是抽象類可以定義非抽象方法保礼,而接口中定義的都是抽象方法,抽象類和接口都具備傳遞性责语,抽象類是單根性炮障,而接口是多繼承,在概念上鹦筹,都可以重寫抽象方法铝阐,子類重寫抽象類,實現(xiàn)類 實現(xiàn)接口铐拐,抽象類和子類解決的是模塊內(nèi)的問題重用徘键,重寫,多態(tài)遍蟋,而接口解決的是模塊間的問題:高內(nèi)聚吹害,低耦合,接口可以用解耦模塊虚青。
5object
object類是所有類的父類它呀,如果一個類沒有顯示繼承另外一個類,name該類一定繼承與object,
tostring返回對象的字符串形式纵穿。
equals用于判斷兩個對象的屬性是否相等下隧,
6.內(nèi)部類
在Java中,一個文件可以定義多個類谓媒,淆院,這兩個類屬于平行關(guān)系,一個雷也可以定義在一個類的內(nèi)部句惯,定義在內(nèi)部的類稱為內(nèi)部類土辩,外面的就是外部類,內(nèi)部類 根據(jù)具體的修飾符和具體位置分為很多情況抢野。