資源描述:
《Java學(xué)習(xí)歸納》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、數(shù)組類型靜態(tài)初始化Type[]arrayName={element1,element2...}動態(tài)初始化arrayName=newtype[length]類和對象定義類各成員之間可以相互調(diào)用,但static修飾的成員不能訪問沒有static修飾的成員.有static修飾的成員屬于類本身,沒有的成員屬于該類的實例調(diào)用static修飾的成員,用類作為主調(diào)(即前面用類開頭)調(diào)用非static修飾的成員,用this作為主調(diào)(即前面用this開頭)方法詳解成員變量和局部變量成員變量:類里定義的變量(包括實例變量,類變量)局部變量:方法里定義的變
2、量(包括形參,方法局部變量,代碼塊局部變量)如果方法里的局部變量跟成員變量同名,局部變量會覆蓋成員變量如果需要這個方法里引用被覆蓋的成員變量,則可使用this(對于實例變量)或類(對于類變量)作為調(diào)用者來限定訪問成員變量。使用訪問控制符Private修飾成員變量最合適Default訪問控制的成員或外部類可以被相同包下的其他類訪問Protected成員即可以被同一個包中的其他類訪問,也可以被不同包中的子類訪問。通常是希望其子類來重寫這個方法。Public可以被所有類訪問。(只有一些static修飾的,類似全局變量的成員變量,才可能考慮使
3、用public修飾)Package,import和importstaticPackage一組相關(guān)功能的類放在同一個package下使用:在java源代碼的第一個非注釋行放置如下代碼packagepackageName;-d用于設(shè)置編譯生成class文件的保存位置-d.代表當(dāng)前路徑(同一個包中的類不必位于相同的目錄下)同一個包下的類可以自由訪問,無須加包前綴Import用于導(dǎo)入制定包層次下的某個類或全部類importpackage.subpackage...ClassName;導(dǎo)入某個類importpackage.subpackage.
4、..*;導(dǎo)入全部類importstatic靜態(tài)導(dǎo)入用于導(dǎo)入指定類的單個或全部靜態(tài)成員變量,方法importstaticpackage.subpackage...ClassName.fieldName
5、methodName;importstaticpackage.subpackage...ClassName.*;*使用import可以省略寫包名,使用importstatic可以省略寫類名深入構(gòu)造器構(gòu)造器里的this代表它進行初始化的對象構(gòu)造器必須與類名相同構(gòu)造器不能直接被調(diào)用,構(gòu)造器必須使用new關(guān)鍵字來調(diào)用在構(gòu)造器B中調(diào)用構(gòu)造器A中的
6、初始代碼,可以使用this關(guān)鍵字來調(diào)用相應(yīng)的構(gòu)造器使用this調(diào)用另一個重載的的構(gòu)造器只能在構(gòu)造器中使用,而且必須作為構(gòu)造器執(zhí)行體的第一條語句。類的繼承繼承的特點:子類不能獲得父類的構(gòu)造器重寫父類的方法重寫即子類把父類同名的方法覆蓋在子類方法中調(diào)用父類被覆蓋的方法,則可以使用super或父類類名如果父類方法具有private訪問權(quán)限,子類無法訪問,無法重寫(super可以與this對比)多態(tài)多態(tài)性編譯時類型是BaseClass,運行時類型是SubClass,就出現(xiàn)多態(tài)了。多態(tài)簡言之:BaseClassa=newSubClass()編譯
7、類型運行類型引用變量時只能調(diào)用編譯類型中具有的方法,但運行時執(zhí)行它運行時類型所具有的方法(父類有,子類有,方法用子類的父類有,子類沒,方法用父類的父類沒,子類有,編譯失?。ο蟮膶嵗兞坎痪邆涠鄳B(tài)性。因為通過引用變量來訪問其包含的實例變量時,系統(tǒng)總是試圖訪問它編譯時類型所定義的成員變量,而不是它運行時類型所定義的成員變量。引用變量的強制類型轉(zhuǎn)換引用變量只能調(diào)用它編譯時類型的方法,而不能調(diào)用它運行時類型的方法。如果試圖把一個父類實例轉(zhuǎn)換成子類類型,則這個對象必須實際上是子類實例才行(即編譯時類型是父類類型,而運行時類型是子類類型)繼承與
8、組合使用繼承的注意點不希望子類重寫該方法,用final修飾符希望父類某個方法被子類重寫,但不希望被其他類自由訪問,用protected來修飾。何時需要父類派生新的子類?1.子類需要額外增加屬性,而不僅僅是屬性的改變。2.子類需要增加自己的獨有的行為方式。利用組合實現(xiàn)復(fù)用詳見055.8CompositeTest.java書P154繼承表達的是一種“是”的關(guān)系,組合表達的是一種“有”的關(guān)系初始化塊使用初始化塊初始化塊要么不帶任何修飾符,要帶修飾符只能帶static。初始化順序:先執(zhí)行初始化塊或聲明實例變量時指定的初始值;再執(zhí)行構(gòu)造器里
9、指定的初始值初始化塊和構(gòu)造器與構(gòu)造器不同,初始化快是一段固定執(zhí)行的代碼,它不能接收任何參數(shù)。靜態(tài)初始化塊靜態(tài)初始化塊不能對實例變量進行初始化處理(普通初始化塊負責(zé)對對象執(zhí)行初始化,靜態(tài)初始化塊負責(zé)對類進行初始化)處理對象