這篇文章主要講解了“java如何實現(xiàn)面向?qū)ο缶幊獭?,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“java如何實現(xiàn)面向?qū)ο缶幊獭卑桑?/p>
創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務衡東,十余年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:18980820575
1:允許將子類的引用付給父類的對象,但子類中的那些不是從父類繼承來的成員將不再可見。
例:
Bus bus=new Bus(); Car car=bus;
但是car實例不可以引用bus中的非繼承域,如p載人數(shù)。
2:this和super
this引用當前類的變量或方法,super引用當前對象的直接父類的變量或方法
3:多態(tài)
同一個名字可以有多種實現(xiàn)狀態(tài),同一個類內(nèi)部,可以擁有同名的,參數(shù)列表不同的方法,子類也可以有同父類同名的變量和方法。
1)覆蓋(override),當子類繼承了父類的同名無參函數(shù)時,子類新寫的方法覆蓋父類的方法,(返回類型必須相同)
2)重載(overload)繼承了父類的同名有參函數(shù),并且方法參數(shù)不同時稱為重載,使該方法具有自己的特性。
3)重寫(overwrite)當前類的同名方法,同一個類中可以有多個具有相同名字的方法,由傳遞給他們的不同個數(shù)和類型的參數(shù)來決定使用哪種方法。
覆蓋和重載針對父類,重寫針對子類。
4:抽象類定義
抽象類可以有自己的數(shù)據(jù)成員,也可以又非abstract的成員方法,也可以有抽象方法,抽象方法只有函數(shù)定義部分,沒有函數(shù)體。
子類繼承抽象類時必須實現(xiàn)所有的abstract方法。
5:接口
java只支持單一繼承,為了實現(xiàn)多重繼承,設(shè)計了接口。一個類只可以有一個直接父類,但是可以實現(xiàn)多個接口。
接口中的方法可以有參數(shù)列表和返回類型,但是沒有任何方法體。
接口中可以包含字段,但是會被隱士地聲明為static和final
接口中的字段只能被存儲在該接口的靜態(tài)存儲區(qū)域內(nèi),而不屬于該接口。
接口中的方法為public
擴展一個接口來生成新的接口使用關(guān)鍵字extends,實現(xiàn)一個接口使用implements.
java接口的方法只能是抽象的和公開的,java接口比java抽象類更抽象化。
6:接口與抽象類的區(qū)別
1)抽象類可以提供實現(xiàn)方法,接口不能提供。如果向抽象類中添加一個新方法,則它的所有子類一下子就得到了這個方法,但是接口,所有實現(xiàn)這個接口的類必須都再實現(xiàn)這個方法才行。
2)抽象類只能繼承一個,而可以實現(xiàn)多個接口。
“默認適配模式”:java接口在最上面,然后緊跟著抽象類。
3)接口可以被嵌套,既可以被某個類嵌套,也可以被接口嵌套。
7:靜態(tài)類
即定義了靜態(tài)方法、靜態(tài)變量、靜態(tài)代碼塊的類。靜態(tài)類不能被實例化,累的成員都是靜態(tài)的。意味著告訴編譯器,這個方法不需要創(chuàng)建一個此類的對象即可使用。費靜態(tài)類一般需要實例話后才能操作。靜態(tài)類在運行時加載到內(nèi)存中,所以不用進行初始化,也沒有實例,因此在類的內(nèi)部也不能用this。
感謝各位的閱讀,以上就是“java如何實現(xiàn)面向?qū)ο缶幊獭钡膬?nèi)容了,經(jīng)過本文的學習后,相信大家對java如何實現(xiàn)面向?qū)ο缶幊踢@一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!