抽象
一 概念
看不清被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 類名 抽象方法的語法...