Java基礎之抽象篇

2021-08-04 01:40:26 字數 951 閱讀 1685

抽象 

一 概念

看不清被abstract修飾的類 叫抽象類

被abstract修飾的方法 叫抽象方法

抽象類的特點:

1.抽象方法一定在抽象類中

2.抽象方法和抽象類都必須用 abstract關鍵字修飾

3.抽象類不可以用new建立物件 抽象類無法例項化 因為呼叫抽象方法沒意義

4.抽象類中的方法想要被使用 必須由子類重寫其所有抽象方法 建立子類物件呼叫

如果只覆蓋部分 會繼承父類的抽象方法 那麼子類也是個抽象類

5.乙個抽象類中可以包含抽象方法和非抽象方法 但乙個方法被抽象修飾,它所在的類必須是抽象的

抽象類可以不定義抽象方法

抽象的好處?

抽象父類 讓 子類 必須完成父類的全部抽象方法

功能不確定 子類去做

抽象類和普通類一樣 

普通類描述行為 屬性 抽象類也一樣 該怎麼描述還怎麼描述

抽象類中 有建構函式 但是 由於"抽象"對類的限定 使得這個抽象修飾的類無法建立物件

abstract只是乙個修飾符 如果定義的抽象類中沒有抽象方法 那麼這麼定義只是為了不讓該類建立物件

二 語法格式

抽象類訪問許可權修飾符 abstract class 類名

抽象方法

訪問許可權修飾符 abstract 返回值型別 方法名(形參列表);

若乙個普通子類繼承乙個抽象子類 該抽象子類又繼承乙個抽象的父類

那麼 該普通子類必須得重寫抽象父類中所有的抽象方法

但是 抽象子類已重寫過的抽象方法 普通子類就不需要重寫了

模板方法設計模式

當**完成優化後,就可以解決這類問題

什麼是模板方法呢?

在定義功能時,功能的一部分是確定的,但是有一部分是不確定的.而確定的部分在使用不確定的部分

那麼這時就將不確定的部分暴露出去,由該類的子類去完成

不要記** 記思想

java基礎之 抽象類

抽象類 抽象方法只有宣告,沒有實現時,該方法就是抽象方法,需要被abstract修飾,抽象方法必須定義在抽象類中,抽象類需要被abstract修飾。抽象類不可以被例項化。抽象類必須被其子類重寫後,該子類才可以例項化。否則這個子類還是抽象類。抽象類也有構造方法,用於給子類物件進行初始化 抽象類可以不定...

java基礎之抽象類

格式 修飾符 abstract 返回值型別 函式名 引數列表 abstract class 犬科 class 狗 extends 犬科 class 狼 extends 犬科 抽象類的一些解釋 1,抽象類中有建構函式嗎?有,用於給子類物件進行初始化。2,抽象類可以不定義抽象方法嗎?可以的。但是很少見,...

java基礎之抽象類

1 抽象類 也是類,相比普通類而言,多了可以定義抽象方法 2 抽象方法 就是有功能名字,沒有功能實現。3 抽象方法有什麼用?有時候,類中有一些功能不能確定具體怎麼完成,就可以定義為抽象的方法 抽象和具體不是一定的 由需求,由客戶決定 定義抽象類語法 abstract class 類名 抽象方法的語法...