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