Java 抽象類(abstract關鍵字)

2021-07-30 04:36:11 字數 1920 閱讀 7522

1.抽象類

2.抽象類的特點

3.抽象類的作用

4.abstract關鍵字

5.抽象類與介面inte***ce關鍵字

1.抽象類

什麼是抽象類?就是籠統地描述一類東西,例如動物類,就是抽象類,因為動物可以有很多種,有貓,有狗,有猴子。那抽象類怎麼實現呢?用關鍵字abstract修飾。

2.抽象類的特點

1.抽象類不能被例項化,對抽象類用new方法是錯誤的。

2.抽象類中允許有一種或者多種或者全部抽象方法。抽象方法就是用abstract關鍵字修飾的方法。

『3.抽象類的子類(a類)繼承抽象類後,必須要把抽象類中的所有抽象方法都重寫一遍,否則a類將會自動也變成抽象類,不能被繼承。

4.抽象類也有建構函式。雖然抽象類不能例項化,但抽象類的子類在例項化的時候依然會呼叫其父類的建構函式。

5.抽象類能定義抽象方法,普通類不行。抽象類不能例項化,普通類可以。

6.抽象類中是可以沒有抽象類的,這樣做的作用僅僅是讓該類不能例項化。

3.抽象類的作用

抽象類主要用於被繼承,繼承了抽象類的子類,就必須要有抽象類所定義的抽象方法。例如乙個抽象類是動物類,那麼繼承自動物類的子類(可能是貓,狗),都必須要有人類所定義的抽象方法,例如:

abstract class animal       //動物抽象類

class monkey extends animal //具體化抽象類的子類

void attack()

}class dog extends animal //具體化抽象類的子類

void attack()

}public class main

}

上面的猴子類和狗類都必須有動物類(抽象類)所定義的方法,就是move()和attack(),否則就不能建立物件。

換句話說,就是多個類中若有共同的屬性,則把共同的屬性抽取出來,形成乙個抽象類,然後繼承該抽象類即可。這點在寫需求時可以用到。

4.abstract 關鍵字

1.abstract可以修飾類和方法,修飾類就是抽象類,修飾方法就是抽象方法,只有抽象類中才能有抽象方法。

2.抽象方法用於被子類繼承後重寫。即是父類的抽象方法是空的,必須由子類繼承之後在子類中由子類實現,這可以達到不同子類可以根據自己的特性來定義自己從父類繼承過來的抽象方法。

3.abstract不能與final關鍵字共存,因為final關鍵字修飾的類是不能被繼承的。

4.abstract不能與private關鍵字共存,因為私有的東西不能繼承。

5.abstract不能與static關鍵字共存,當static修飾方法時,該方法可以通過類名直接呼叫,而abstract修飾的抽象方法是不能被呼叫的。

5.抽象類與介面inte***ce關鍵字

1.當乙個抽象類中的所有成員只有抽象方法時,便是乙個介面,可以用關鍵字inte***ce表示。

2.介面中的成員有兩種:1.全域性常量  2.抽象方法

3.介面中的許可權必須是public,若沒寫public,會自動加上public。

4.介面中有抽象方法,因此介面也是抽象類,不可以例項化。所以其子類也必須覆蓋了介面中所有的抽象方法後,才能例項化,否則他也是乙個抽象類。

** 演示:

inte***ce inter

上面的**中,有全域性常量 num,也有抽象方法。除此之外沒有其他型別的成員了。而介面是用於被子類繼承,再由子類根據自身需要自定義對應介面的。

java 抽象類 抽象方法 abstract

1 abstract 修飾類 抽象類 不能被例項化 擁有構造器 抽象方法所在的類,一定是抽象類 抽象類中可以沒有抽象方法 2 abstract 修飾方法 抽象方法 沒有方法體,包括 如public abstract void eat 抽象方法相當於只保留方法的功能,而具體的執行,交給繼承抽象類的子類...

Java基礎》10 抽象類 abstract

個人學習總結 抽象類 我們在描述一類事物的時候,該事物確實存在某種行為 方法 但是這種行為並不是具體的,那麼我們可以抽象這種行為的宣告 去掉方法的大括號,方法有大括號即具體的方法 而不去實現這種行為,這種行為成為抽象行為,使用抽象類描述該事物。設計思想 目的 可以強制要求子類重寫父類抽象的方法。保證...

abstract抽象類 抽象方法

package com.company.abstract01 1 如何定義抽象類?class 關鍵字前加 abstract 2 抽象類無法被例項化,即抽象類無法建立物件 3 雖然抽象類沒有辦法例項化,但是抽象類也有構造方法,該構造方法是給子類建立物件用的。4 抽象類中可以定義抽象方法 抽象方法的語法...