7.封裝、繼承、抽象類

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í)行順序和普通類相同

抽象類可以被繼承,此時子類必須全部重寫父類的抽象方法,否則子類也必須聲明為抽象類

可以聲明抽象類類型的引用,把它作為方法形參,返回值類型等

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一:java概述:1,JDK:Java Development Kit,java的開發(fā)和運行環(huán)境,java的開發(fā)工...
    ZaneInTheSun閱讀 2,817評論 0 11
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,754評論 18 399
  • 本文出自 Eddy Wiki ,轉(zhuǎn)載請注明出處:http://eddy.wiki/interview-java.h...
    eddy_wiki閱讀 1,275評論 0 5
  • 周末想去常州玩 我問達(dá)艾斯 要不要順便回你母??纯?達(dá)艾斯 有什么好看的 我說你怎么沒有一點情懷呢 達(dá)艾斯說學(xué)校這...
    吳果木閱讀 241評論 0 1
  • 在一周的第一天,我們就經(jīng)歷了酷暑和涼爽。一大早來了就開緊急會議,因為有國家樣板校的檢測。和三年級孩子上課的時候我感...
    105d45b91b02閱讀 336評論 0 0

友情鏈接更多精彩內(nèi)容