1封裝的概念
私有化類中的成員屬性
提供公開的get/set方法
2訪問控制修飾符
public公開的
缺省的
protected受保護(hù)的
private私有的,私有的成員和方法,只能在本類中訪問
3 get/set方法
get方法:獲取成員變量的值
set方法:設(shè)置成員變量的值
通過eclipse可以自動生成get和set方法
二繼承
子類繼承父類,子類就擁有過了父類的成員變量和方法
1生活中的繼承
如,子女繼承父母的財產(chǎn),子女就擁有了這些財產(chǎn)
生物
植物動物
爬行動物哺乳動物
猴類人類
男人女人
2代碼中表現(xiàn)繼承關(guān)系
子類,派生類
父類,超類,基類
創(chuàng)建子類對象的過程:
Animal的靜態(tài)代碼塊
Bird的靜態(tài)代碼塊
Animal的構(gòu)造代碼塊
Animal的構(gòu)造方法
Bird的構(gòu)造代碼塊
Bird的構(gòu)造方法
3方法的重寫override
重載(overload)
4 final關(guān)鍵字
在Java中,聲明類、屬性和方法時,可使用final修飾符來修飾。final表示最終、不可改變,即為常量的意思。具體如下:
final標(biāo)記的類不能被繼承。
final標(biāo)記的方法不能被子類重寫。
final標(biāo)記的變量(成員變量或局部變量)即為常量,必須在聲明時賦值,且之后不能改變。
局部變量,形參
成員變量必須在聲明時或在每個構(gòu)造方法或?qū)?yīng)語句塊中顯式賦值(不會被默認(rèn)初始化),才能使用。
三抽象類
abstract
1抽象類
應(yīng)用場景:當(dāng)每個子類有自己獨特行為的時候,父類不需要提供具體的實現(xiàn),只用規(guī)定每個子類擁有這個能力就可以了。此時,父類可以聲明為抽象類,該行為(方法)可以聲明為抽象方法。
語法:
[修飾符] abstract class 類名{ …}
[修飾符] abstract 返回值類型 ?方法名([形參列表]);
理解:抽象類,抽象方法可以理解為“還沒有竣工”的類,方法,需要其他類(子類)重新完善(重寫)
2抽象方法
抽象方法是沒有方法體的方法,抽象方法必須包含在抽象類中
抽象類可以包含或不包含抽象方法,也可以包含或不包含普通方法
抽象類不能直接實例化,如Ab a = new Ab();
但是仍然有構(gòu)造方法,子類繼承抽象類后,構(gòu)造方法的執(zhí)行順序和普通類相同
抽象類可以被繼承,此時子類必須全部重寫父類的抽象方法,否則子類也必須聲明為抽象類
可以聲明抽象類類型的引用,把它作為方法形參,返回值類型等