JAVA面對的對象
48 2017-05-04
類和對象
static關(guān)鍵字修飾的方法/變量屬于該類,沒有用static修飾的,屬于該類的實例即對象。
類方法/變量由類調(diào)用,成員方法/變量由實例調(diào)用。
this總是指向調(diào)用該方法的對象(不是類)。
方法詳解
方法所屬性(static決定)
形參,實參的傳遞(值傳遞,注意引用變量傳遞的區(qū)別)
形參個數(shù)可變(...放在形參類型后)
方法的重載(返回值不同或者形參個數(shù)不同)
遞歸方法
成員變量和局部變量
package程序第一行,只能一個
import導(dǎo)入指定包層次下某個類或全部類
importstatic靜態(tài)導(dǎo)入用于導(dǎo)入指定類的某個靜態(tài)成員變量、方法或全部的靜態(tài)成員變量、方法。
構(gòu)造器
構(gòu)造器最大的用處就是在創(chuàng)建對象時執(zhí)行初始化
構(gòu)造器重載(形參列表不同)
構(gòu)造器調(diào)用另一個構(gòu)造器需使用this關(guān)鍵字,而且必須作為構(gòu)造器執(zhí)行體的第一條語句。
類的繼承
Java子類不能獲得父類的構(gòu)造器
重寫父類的方法要遵循“兩同兩小一大”的規(guī)則。兩同:方法名、形參列表相同;兩小:返回值類型,拋出異常類;一大:訪問權(quán)限。(重寫方法,覆蓋方法和被覆蓋方法要同時為實例方法,或者類方法)
super在子類中調(diào)用父類被覆蓋方法;在子類中調(diào)用父類構(gòu)造器。
多態(tài)
相同類型的變量、調(diào)用同一個方法時呈現(xiàn)出多種不同的行為特征,就是多態(tài)。
java允許將子類對象直接賦給父類引用變量。(向上轉(zhuǎn)型upcasting)
編譯時類型轉(zhuǎn)換成運行時類型,需要強制類型轉(zhuǎn)換,要借助于類型轉(zhuǎn)換運算符。
instanceof:前一個操作數(shù)通常是一個引用類型變量,后一個通常是一個類或者接口。用于判斷前一個對象是否是后面的類或者其子類、實現(xiàn)類的實例。
instanceof前面操作數(shù)的編譯時類型要么與后面類相同或者與后面類具有父子繼承關(guān)系,否則會編譯錯誤。
繼承和組合
繼承使用應(yīng)三思而行。不能破壞父類封裝。子類擴(kuò)展應(yīng)該是屬性增加或者增加自己獨特的方法。
繼承是:is-a
組合是:has-a
初始化塊
本章小結(jié)
本章主要介紹了Java面向?qū)ο蟮幕局R,包括如何定義類,如何為類定義成員變量、方法,以及如何創(chuàng)建類的對象。本章還深入分析了對象和引用變量之間的關(guān)系。方法也是本章介紹的重點,本章詳細(xì)介紹了方法的參數(shù)傳遞機制、遞歸方法、重載方法、可變長度形參的方法等內(nèi)容,并詳細(xì)對比了成員變量和局部變量在用法上的差別,并深入對比了成員變量和局部變量在運行機制上的差別。
本章詳細(xì)介紹了如何使用訪問控制符來設(shè)計封裝良好的類,并使用package語句來組合系統(tǒng)中大量的類,以及如何使用import語句來導(dǎo)入其他包中的類。
本章著重講解了Java的繼承和多態(tài),包括如何利用extends關(guān)鍵字來實現(xiàn)繼承,以及把一個子類對象賦給父類變量時產(chǎn)生的多態(tài)行為。本章還深入比較了繼承、組合兩種類復(fù)用機制各自的優(yōu)缺點和適用場景。
咨詢
掃一掃
獲取更多福利
獵學(xué)網(wǎng)企業(yè)微信
獵學(xué)網(wǎng)訂閱號
獵學(xué)網(wǎng)服務(wù)號