面向?qū)ο笕筇匦?
一 封裝:
概念:是指隱藏對(duì)象的屬性和實(shí)現(xiàn)細(xì)節(jié),僅對(duì)外提供公共訪問(wèn)方式。
好處:將變化隔離;便于使用;提高重用性;安全性。
封裝原則:將不需要對(duì)外提供的內(nèi)容都隱藏起來(lái),把屬性都隱藏,提供公共方法對(duì)其訪問(wèn)。
二 繼承
好處:
1:提高了代碼的復(fù)用性。
2:讓類與類之間產(chǎn)生了關(guān)系,提供了另一個(gè)特征多態(tài)的前提。
注意:
子類中所有的構(gòu)造函數(shù)都會(huì)默認(rèn)訪問(wèn)父類中的空參數(shù)的構(gòu)造函數(shù),因?yàn)槊恳粋€(gè)子類構(gòu)造內(nèi)第一行都有默認(rèn)的語(yǔ)句super();
如果父類中沒(méi)有空參數(shù)的構(gòu)造函數(shù),那么子類的構(gòu)造函數(shù)內(nèi),必須通過(guò)super語(yǔ)句指定要訪問(wèn)的父類中的構(gòu)造函數(shù)。
如果子類構(gòu)造函數(shù)中用this來(lái)指定調(diào)用子類自己的構(gòu)造函數(shù),那么被調(diào)用的構(gòu)造函數(shù)也一樣會(huì)訪問(wèn)父類中的構(gòu)造函數(shù)。
三 多態(tài)(在后期開(kāi)發(fā)中常用)
多態(tài)(面向?qū)ο筇卣髦?:函數(shù)本身就具備多態(tài)性,某一種事物有不同的具體的體現(xiàn)。
體現(xiàn):父類引用或者接口的引用指向了自己的子類對(duì)象。//Animal a = new Cat();
多態(tài)的好處:提高了程序的擴(kuò)展性。
多態(tài)的弊端:當(dāng)父類引用指向子類對(duì)象時(shí),雖然提高了擴(kuò)展性,但是只能訪問(wèn)父類中具備的方法,不可以訪問(wèn)子類中特有的方法。(前期不能使用后期產(chǎn)生的功能,即訪問(wèn)的局限性)
多態(tài)的前提:
1:必須要有關(guān)系,比如繼承、或者實(shí)現(xiàn)。
2:通常會(huì)有覆蓋操作。
final特點(diǎn):
1:這個(gè)關(guān)鍵字是一個(gè)修飾符,可以修飾類,方法,變量。
2:被final修飾的類是一個(gè)最終類,不可以被繼承。
3:被final修飾的方法是一個(gè)最終方法,不可以被覆蓋。
4:被final修飾的變量是一個(gè)常量,只能賦值一次。
抽象類的特點(diǎn):
1:抽象方法只能定義在抽象類中,抽象類和抽象方法必須由abstract關(guān)鍵字修飾(可以描述類和方法,不可以描述變量)。
2:抽象方法只定義方法聲明,并不定義方法實(shí)現(xiàn)。
3:抽象類不可以被創(chuàng)建對(duì)象(實(shí)例化)。
4:只有通過(guò)子類繼承抽象類并覆蓋了抽象類中的所有抽象方法后,該子類才可以實(shí)例化。否則,該子類還是一個(gè)抽象類。
5: 抽象類只能單繼承。
抽象類的細(xì)節(jié):
1:抽象類中是否有構(gòu)造函數(shù)?有,用于給子類對(duì)象進(jìn)行初始化。
2:抽象類中是否可以定義非抽象方法?
可以。其實(shí),抽象類和一般類沒(méi)有太大的區(qū)別,都是在描述事物,只不過(guò)抽象類在描述事物時(shí),有些功能不具體。所以抽象類和一般類在定義上,都是需要定義屬性和行為的。只不過(guò),比一般類多了一個(gè)抽象函數(shù)。而且比一般類少了一個(gè)創(chuàng)建對(duì)象的部分。
3:抽象關(guān)鍵字abstract和哪些不可以共存?final , private , static
4:抽象類中可不可以不定義抽象方法?可以。抽象方法目的僅僅為了不讓該類創(chuàng)建對(duì)象。
接 口:
抽象類和接口的區(qū)別:
1:抽象類只能被繼承,而且只能單繼承。
接口需要被實(shí)現(xiàn),而且可以多實(shí)現(xiàn)。
2:抽象類中可以定義非抽象方法,子類可以直接繼承使用。
接口中都有抽象方法,需要子類去實(shí)現(xiàn)。
3:抽象類使用的是 is a 關(guān)系。
接口使用的 like a 關(guān)系。
4:抽象類的成員修飾符可以自定義。
接口中的成員修飾符是固定的。全都是public的。
匿名內(nèi)部類:沒(méi)有名字的內(nèi)部類。就是內(nèi)部類的簡(jiǎn)化形式。一般只用一次就可以用
這種形式。匿名內(nèi)部類其實(shí)就是一個(gè)匿名子類對(duì)象。想要定義匿名內(nèi)部類:需要前提,內(nèi)部類必須繼承一個(gè)類或者實(shí)現(xiàn)接口。
匿名內(nèi)部類的格式:new 父類名&接口名(){ 定義子類成員或者覆蓋父類方法 }.方法。
匿名內(nèi)部類的使用場(chǎng)景:
當(dāng)函數(shù)的參數(shù)是接口類型引用時(shí),如果接口中的方法不超過(guò)3個(gè)??梢酝ㄟ^(guò)匿名內(nèi)部類來(lái)完成參數(shù)的傳遞。
其實(shí)就是在創(chuàng)建匿名內(nèi)部類時(shí),該類中的封裝的方法不要過(guò)多,最好兩個(gè)或者兩個(gè)以內(nèi)。
異 常:
異常處理原則:功能拋出幾個(gè)異常,功能調(diào)用如果進(jìn)行try處理,需要與之對(duì)應(yīng)的catch處理代碼塊,這樣的處理有針對(duì)性,拋幾個(gè)就處理幾個(gè)。
特殊情況:try對(duì)應(yīng)多個(gè)catch時(shí),如果有父類的catch語(yǔ)句塊,一定要放在下面。
throw 和throws關(guān)鍵字的區(qū)別:
throw用于拋出異常對(duì)象,后面跟的是異常對(duì)象;throw用在函數(shù)內(nèi)。
throws用于拋出異常類,后面跟的異常類名,可以跟多個(gè),用逗號(hào)隔開(kāi)。throws用在函數(shù)上。
創(chuàng)新互聯(lián)是專業(yè)的雞東網(wǎng)站建設(shè)公司,雞東接單;提供成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行雞東網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
本文題目:Java基礎(chǔ)知識(shí)面向?qū)ο笕筇匦?/a>
分享地址:http://chinadenli.net/article6/pgdhog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、商城網(wǎng)站、營(yíng)銷型網(wǎng)站建設(shè)、軟件開(kāi)發(fā)、靜態(tài)網(wǎng)站、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)