java中abstract修改類(lèi)的實(shí)例方法
abstract是一種修飾類(lèi),經(jīng)過(guò)修改的類(lèi)會(huì)變成抽象類(lèi)。除了類(lèi)之外還可以修改方法,考慮到類(lèi)的模塊是小伙伴們常接觸的,今天來(lái)小編帶大家一起找尋使用abstract修改類(lèi)的方法。這里需要我們先從abstract丁酉、特點(diǎn)、方法、注釋進(jìn)行學(xué)習(xí),然后在實(shí)例中體會(huì)修改類(lèi)的用法。
1.abstract定義
abstract關(guān)鍵字可以修改類(lèi)或方法。
abstract 類(lèi)可以擴(kuò)展(增加子類(lèi)),但不能直接實(shí)例化。
abstract 方法不在聲明它的類(lèi)中實(shí)現(xiàn),但必須在某個(gè)子類(lèi)中重寫(xiě)。
2.特點(diǎn)
可以聲明引用不能創(chuàng)建對(duì)象
3.方法
abstract void eat( );
4.注釋
采用 abstract 方法的類(lèi)本來(lái)就是抽象類(lèi),并且必須聲明為 abstract。
abstract 類(lèi)不能實(shí)例化。
僅當(dāng) abstract 類(lèi)的子類(lèi)實(shí)現(xiàn)其超類(lèi)的所有 abstract 方法時(shí),才能實(shí)例化 abstract 類(lèi)的子類(lèi)。這種類(lèi)稱(chēng)為具體類(lèi),以區(qū)別于 abstract 類(lèi) 。
如果 abstract 類(lèi)的子類(lèi)沒(méi)有實(shí)現(xiàn)其超類(lèi)的所有 abstract 方法,該子類(lèi)也是 abstract 類(lèi)。
abstract 關(guān)鍵字不能應(yīng)用于 static、private 或 final 方法,因?yàn)檫@些方法不能被重寫(xiě),因此,不能在子類(lèi)中實(shí)現(xiàn)。
final 類(lèi)的方法都不能是 abstract,因?yàn)?final 類(lèi)不能有子類(lèi)。
5.實(shí)例
public abstract class Animal {、 public abstract void cry(); public void run(){ System.out.println(“跑的方法……”); } }
知識(shí)點(diǎn)擴(kuò)展:
abstract修飾的類(lèi)叫做抽象類(lèi)
格式:abstract class 類(lèi)名{}
注意:
1、如果類(lèi)中含有抽象方法,則要求該類(lèi)必須也是抽象類(lèi);
但是抽象類(lèi)可以不包含抽象方法
2、抽象類(lèi)的子類(lèi):
1)、抽象類(lèi):如果不想重寫(xiě)抽象父類(lèi)的方法可以將該類(lèi)也聲明為抽象類(lèi)
2)、具體類(lèi):要求必須重寫(xiě)抽象類(lèi)中的所有的抽象方法
3)、如果類(lèi)被聲明抽象類(lèi),不允許通過(guò)new來(lái)實(shí)例化
4)、抽象類(lèi)可以包含哪些內(nèi)容?
成員屬性:變量可以 常量可以
成員方法:抽象方法可以 非抽象方法可以
構(gòu)造方法:可以 也支持構(gòu)造方法重載
提供給子類(lèi)使用
5)、抽象類(lèi)中為什么既提供了抽象方法也提供非抽象方法?
抽象方法:強(qiáng)制要求具體子類(lèi)必須重寫(xiě)抽象方法
非抽象方法:子類(lèi)可以直接使用父類(lèi)的非抽象方法--提高代碼的復(fù)用性
6)、抽象類(lèi)是否可以體現(xiàn)多態(tài)?
抽象方法可以重載;抽象方法的意義子類(lèi)重寫(xiě)該方法;
向上造型:子類(lèi)對(duì)象賦值給抽象類(lèi)的引用
編譯看左邊 運(yùn)行看右邊
7)、如果抽象類(lèi)一個(gè)抽象方法都沒(méi)有,該抽象類(lèi)有什么意義?
不允許創(chuàng)建類(lèi)的對(duì)象,只能通過(guò)子類(lèi)繼承該類(lèi)
8)、private+abstract能否一起使用?--不可以
9)、final+abstract能否一起使用?---不可以 沖突
10)、static+abstract能否一起使用?--不可以
沖突 沒(méi)有意義
到此這篇關(guān)于java中abstract修改類(lèi)的實(shí)例方法的文章就介紹到這了,更多相關(guān)java基礎(chǔ)之a(chǎn)bstract如何修改類(lèi)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaWeb基礎(chǔ)教程之Java基礎(chǔ)加強(qiáng)版
這篇文章主要介紹了JavaWeb基礎(chǔ)教程之Java基礎(chǔ)加強(qiáng)版的相關(guān)資料,需要的朋友可以參考下2016-07-07SpringBoot2.0實(shí)現(xiàn)多圖片上傳加回顯
這兩天公司有需求讓做一個(gè)商戶注冊(cè)的后臺(tái)功能,其中需要商戶上傳多張圖片并回顯,本文就使用SpringBoot2.0實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2021-07-07Java實(shí)現(xiàn)簡(jiǎn)單的飛機(jī)大戰(zhàn)游戲(敵機(jī)下落篇)
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)簡(jiǎn)單的飛機(jī)大戰(zhàn)游戲,敵機(jī)下落篇,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05JavaWeb實(shí)戰(zhàn)之編寫(xiě)單元測(cè)試類(lèi)測(cè)試數(shù)據(jù)庫(kù)操作
這篇文章主要介紹了JavaWeb實(shí)戰(zhàn)之編寫(xiě)單元測(cè)試類(lèi)測(cè)試數(shù)據(jù)庫(kù)操作,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)javaweb的小伙伴們有很大的幫助,需要的朋友可以參考下2021-04-04Java實(shí)現(xiàn)的權(quán)重算法(按權(quán)重展現(xiàn)廣告)
這篇文章主要介紹了Java實(shí)現(xiàn)的權(quán)重算法(按權(quán)重展現(xiàn)廣告),本文講解了算法實(shí)現(xiàn)原理和實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-04-04淺談Spring Security LDAP簡(jiǎn)介
這篇文章主要介紹了淺談Spring Security LDAP簡(jiǎn)介,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05簡(jiǎn)單總結(jié)SpringMVC攔截器的使用方法
今天給大家?guī)?lái)的是關(guān)于SpringMVC攔截器的相關(guān)知識(shí),文章圍繞著SpringMVC攔截器的使用方法展開(kāi),文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下2021-06-06Spring Boot整合QueryDSL的實(shí)現(xiàn)示例
這篇文章主要介紹了Spring Boot整合QueryDSL的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09