Java基礎篇 03多型 抽象類 介面

2021-09-25 04:07:44 字數 810 閱讀 5354

事務的多種形態

前提:1)有繼承關係,

2)有方法重寫,

3)要有父類引用指向子類物件,比如:animal a = new cat(); a.eat();

成員變數 :編譯看左邊(父類),執行看左邊(父類) ;

成員方法:編譯看左邊(父類),執行看右邊(子類);

向上轉型與向下轉型:

父類引用指向子類物件就是向上轉型。

對態好處:

1)提高**維護性(繼承保證)

2)提高**擴充套件性(由多型保證)

當作引數使用時用多型好,擴充套件性強

使用強轉時可以提前校驗,使用instanceof

抽象類特點:

1 抽象類和抽象方法必須用abstract關鍵字修飾

2 抽象類不一定有抽象方法,有抽象方法的類一定是抽象類或是介面

3 抽象類的子類,要麼是抽象類,要麼重寫抽象類中的所有抽象方法

常見面試問題:

1乙個抽象類如果沒有抽象方法,是否可以定義為抽象類,如果可以,有什麼意義

可以定義,目的:不讓其他類建立本類物件,交給子類完成

介面使用inte***ce定義,

類實現介面用implement表示

介面不能例項化

介面的子類可以是具體類,要重寫介面中所有抽象方法

介面中定義的變數都是常量;

1類與類,介面與介面,類與介面的關係:

a 類與類:繼承關係,智慧型單繼承,可以多層繼承

b類與介面:實現關係,可以單實現,也可以多實現,並且還可以在繼承乙個類的同時實現多個介面

c介面與介面:繼承關係,可以單繼承,也可以多繼承

Java基礎 多型和抽象類

多型 概念 一種事物多種形態 多型的前提 1.有繼承關係 2.有方法重寫 3.父類引用指向子類物件 多型的成員特點 編譯看左邊,執行看右邊 成員變數特點 編譯看左邊,執行看左邊 靜態方法 靜態方法必須重寫為靜態 型別轉換 大到小強制轉換 資料型別 變數名 目標資料型別 資料 引用資料型別 父類資料型...

Java基礎 抽象類

抽象類 目前存在的問題 1.動物類的run方法描述的不正確。2.沒有強制要子類一定要重寫run方法 抽象類的應用場景 我們在描述一類事物的時候,發現這種事物確實存在某種行為,但是這種行為目前是不具體的,那麼我們可以抽取這種行為的宣告,但是不去實現這種行為,這種時候這種行為我們稱作為抽象行為,我們就需...

java基礎 抽象類

一 定義 在類中宣告乙個方法,這個方法沒有實現體,是乙個 空 方法,這樣的方法就叫抽象方法,使用修飾符 abstract 當乙個類有抽象方法的時候,該類就必須宣告為抽象類。二 例項 1 含有抽象方法的類,必須定義為抽象類 為animal增加乙個抽象方法eat 並且把animal宣告為abstract...