JAVA面向?qū)ο笾^承

繼承:

講學(xué)生和工人的共性描述提取出來,單獨(dú)進(jìn)行描述。只要讓學(xué)生和工人與單獨(dú)描述的這個(gè)類有關(guān)系,就可以了。

1、提高了代碼的復(fù)用性。

2、讓類與類之間產(chǎn)生了關(guān)系。有了這個(gè)關(guān)系,才有了多態(tài)的特性。

3、注意:千萬不要為了獲取其他類的功能,簡化代碼而繼承。必須是類與類之間有所屬的關(guān)系才可以繼承。所屬關(guān)系isa

4、Java語言中,Java只支持單繼承,不支持多繼承。因?yàn)槎嗬^承容易帶來安全隱患:當(dāng)多個(gè)父類中定義了相同的功能,當(dāng)功能內(nèi)容不同時(shí),子類對(duì)象不確定要運(yùn)行哪一個(gè)。

但是java保留這種機(jī)制,并用另一種體現(xiàn)形式來完成表示(多實(shí)現(xiàn))

5、java支持多層繼承。也就是一個(gè)繼承體系

如何使用一個(gè)繼承體系中的功能呢?

想要使用體系,先查閱體系父類的描述,,因?yàn)楦割愔卸x的是該體系中共性功能,通過了解共性功能,就可以知道該體系的基本功能。

那么這個(gè)體系已經(jīng)可以基本使用了。

那么在具體調(diào)用時(shí),要?jiǎng)?chuàng)建最子類的對(duì)象,為什么呢?

因?yàn)橛锌赡芨割惒荒軇?chuàng)建對(duì)象

創(chuàng)建子類對(duì)象可以使用更多的功能,包括基本的也包括特有的

簡單一句話:查閱父類功能,創(chuàng)建子類對(duì)象使用功能。

小編是一個(gè)有著5年工作經(jīng)驗(yàn)的java程序員,對(duì)于java,自己有做資料的整合,一個(gè)完整學(xué)習(xí)java的路線,學(xué)習(xí)資料和工具,相信這里有很多學(xué)習(xí)java的小伙伴,我創(chuàng)立了一個(gè)2000人學(xué)習(xí)扣群,479121291。每晚都有java的直播課程。無論是初級(jí)還是進(jìn)階的小伙伴小編我都?xì)g迎!

6、子父類出現(xiàn)后,類成員的特點(diǎn):

類中成員:

變量。

如果子類中出現(xiàn)非私有的同名成員變量時(shí),子類要訪問本類中的變量,用this;訪問父類中的同名變量用super。

super的使用和this的使用幾乎一致。

this代表的是本類對(duì)象的引用;super代表的是父類對(duì)象的引用。

函數(shù)

當(dāng)子類出現(xiàn)和父類一模一樣的函數(shù)時(shí),當(dāng)子類對(duì)象調(diào)用

該函數(shù),會(huì)運(yùn)行子類函數(shù)的內(nèi)容。如同父類的函數(shù)被覆蓋

一樣。

這種情況是函數(shù)的另一個(gè)特性:重寫(覆蓋)】

當(dāng)子類繼承父類,沿襲了父類的功能,到子類中,但

是子類雖具備該功能,但是功能的內(nèi)容卻和父類的不一致

這時(shí),沒有必要定義新功能,而是使用覆蓋特性,保留父

類的功能定義,并重寫功能的內(nèi)容。

覆蓋(重寫)注意事項(xiàng):

子類覆蓋父類,必須保證子類權(quán)限大于等于父類權(quán)限,

才可以覆蓋,否則編譯失敗。

靜態(tài)只能覆蓋靜態(tài)。

重載:只看同名函數(shù)的參數(shù)列表。

重寫:子父類方法要一模一樣。

構(gòu)造函數(shù)

在對(duì)子類對(duì)象進(jìn)行初始化時(shí),父類的構(gòu)造函數(shù)也會(huì)運(yùn)行,

那是因?yàn)樽宇惖臉?gòu)造函數(shù)默認(rèn)第一行有一條隱式的語句

super()。

super():會(huì)訪問父類中的空參數(shù)構(gòu)造函數(shù)。而且子類中所有

的構(gòu)造函數(shù)默認(rèn)第一行都是super()。

為什么子類一定要訪問父類中的構(gòu)造函數(shù)?

因?yàn)楦割愔械臄?shù)據(jù)子類可以直接獲取。所以子類對(duì)象在建立

時(shí)需要先查看父類是如何對(duì)這些數(shù)據(jù)進(jìn)行初始化的,所以子類

在對(duì)象初始化時(shí)要先訪問一下父類中的構(gòu)造函數(shù)。

如果要訪問父類中指定的構(gòu)造函數(shù),可以通過手動(dòng)定義

Super語句的方式來指定。

注意:super語句一定定義在子類構(gòu)造函數(shù)的第一行。

子類的實(shí)例化過程:

結(jié)論:子類的所有構(gòu)造函數(shù),默認(rèn)都會(huì)訪問父類中的空參

數(shù)構(gòu)造函數(shù);因?yàn)樽宇愔忻恳粋€(gè)構(gòu)造函數(shù)內(nèi)的第一行都有一

個(gè)隱式的super();

當(dāng)父類中沒有空參數(shù)的構(gòu)造函數(shù)時(shí),子類必須手動(dòng)通過super

語句的形式來指定要訪問父類中的構(gòu)造函數(shù)。

當(dāng)然:子類的構(gòu)造函數(shù)第一行也可以手動(dòng)指定this語句來訪

問本類構(gòu)造函數(shù);子類中至少有一個(gè)構(gòu)造函數(shù)會(huì)訪問父類中的

構(gòu)造函數(shù)。

final

作為一個(gè)修飾符

1、可以修飾類、函數(shù)、變量。

2、被final修飾的類不可以被繼承。是為了避免被繼承,被子類復(fù)寫的功能。

3、被final修飾的方法不可以被重寫。

4、被final修飾的變量是一個(gè)常量,只能賦值一次,既可以修飾成員變量,也可以修飾局部變量。

當(dāng)在描述事物時(shí),一些數(shù)據(jù)的出現(xiàn)值是固定的,那么這是為了增強(qiáng)閱讀性,都給這些值起個(gè)名字,方便于閱讀。而這個(gè)值不需要改變,所以加上final修飾。作為常量:常量的書寫規(guī)范所有字母都大寫,如果由多個(gè)單詞組成,單詞間通過_連接。

5、內(nèi)部類定義在類中的局部位置上時(shí),只能訪問該局部被final修飾的局部變量。

抽象

1、抽象類的特點(diǎn):

抽象方法一定在抽象類中

抽象方法和抽象類都必須被abstract關(guān)鍵字修飾

抽象類不可以用new創(chuàng)建對(duì)象,因?yàn)檎{(diào)用抽象方法沒意義

抽象類中的抽象方法要被使用,必須由子類復(fù)寫起所有的抽象方法后,建立子類對(duì)象調(diào)用;如果子類只覆蓋了部分的抽象方法,那么該子類還是一個(gè)抽象類。

抽象類中可以有抽象方法也可以有非抽象方法

抽象類和一般類沒有太大的不同:該如何描述事物,就如何描述事物,只不過,該事物出現(xiàn)了一些看不懂得東西。這些不確定的部分,也是該事物的功能,需要明確出現(xiàn)。但是無法定義主體

抽象類比一般類多了個(gè)抽象函數(shù),就是在類中可以定義抽象方法;抽象類不可以實(shí)例化。

特殊:抽象類中可以不定義抽象方法,這樣做僅僅是不讓改類建立對(duì)象。

模板方法:

在定義功能時(shí),功能的一部分是確定的,但是有一部分是不確定的,而確定的部分在使用不確定的部分,那么這時(shí)就將不確定的部分暴露出去。有該類的子類去實(shí)現(xiàn)。

接口

初期理解:可以認(rèn)為是一個(gè)特殊的抽象類,當(dāng)抽象類中的方法都是抽象的,那么該類可以通過接口的形式來表示(interface)

接口定義時(shí),格式特點(diǎn):

1、接口中常見定義:常量,抽象方法。

2、接口中的成員都有固定修飾符。

常量:publicstaticfinal

方法:publicabstract

記?。航涌谥械某蓡T都是public的。

3、接口是不可以創(chuàng)建對(duì)象的,因?yàn)橛谐橄蠓椒āP枰蛔宇悓?shí)現(xiàn),子類對(duì)接口中的抽象方法全部覆蓋后,子類才可以實(shí)例化。否則子類是一個(gè)抽象類。

4、接口可以被類多實(shí)現(xiàn),也是對(duì)多繼承不支持的轉(zhuǎn)換形式,Java支持多實(shí)現(xiàn)。

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

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

  • 凡事都應(yīng)該盡可能簡單,而不是較為簡單 -------阿爾伯特.愛因斯坦 這是一本心理學(xué)方面的書,介紹人們在特定環(huán)境...
    逆向思維的貓閱讀 468評(píng)論 2 2
  • 我看《華與華方法》里面講到一個(gè)道理,廣告詞一旦定下來,能不改千萬別改。 比如說格力,好空調(diào),格力造。這句話我們聽了...
    絕世肉丸子閱讀 235評(píng)論 0 0
  • 把酒問月 李白 青天有月來幾時(shí),我今停杯一問之。 人攀明月不可得,月行卻與人相隨。 皎如飛鏡臨丹闕,綠煙滅盡清輝發(fā)...
    古詩新讀閱讀 1,356評(píng)論 1 5
  • 十一黃金周,帶三歲的兒子去野生動(dòng)物園玩。高速免費(fèi),我們四號(hào)去的,錯(cuò)峰出行高速上確實(shí)車少。八點(diǎn)出發(fā),十一點(diǎn)才到。哈哈...
    易秋寒閱讀 4,677評(píng)論 0 4

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