關於抽象類的幾個簡單理解

2021-07-04 15:16:57 字數 954 閱讀 2232



乙個類中的方法如果是抽象的話,該類就必須定義為抽象類.

抽象類不一定有抽象方法.抽象類和抽象方法必須用abstract修飾.

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

抽象類不能例項化 按照多型的方式使用

abstract class animal

abstract class dog extends animal

class cat extends animal }

class abstractdemo }

抽象類的成員特點:

a.成員變數:可以是變數,也可以是常量

b.構造方法:有構造方法,但是不能例項化.

問題:構造方法有什麼用?   用於子類訪問父類時的初始化

c.成員方法:可以有抽象方法,也可以有非抽象方法.

抽象方法:強制要求子類做某些事情.

非抽象方法:用於給子類直接使用,提高了**的復用性

兩個問題: 1.

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

可以.為了不讓別人建立物件

2.abstract不能和哪些關鍵字合用?

final:final修飾的方法不能被重寫,而abstract系iushi的方法要求必須被重寫

private:同上

static:static修飾的方法可以通過類名呼叫,而abstract修飾的方法是沒有方法體的,呼叫乙個沒有方法體的方法是沒有

意義的,所以不能共享.

C 抽象類的理解

using system using system.collections.generic using system.linq using system.text using system.threading.tasks 抽象類存在的意義 c 中,抽象類是為繼承而生,為了父類更好的進行繼承與多型處理...

多型 抽象類的理解

多型 乙個類在不同時刻表現出的具體物件 前提 有繼承關係,有方法重寫,父類引用指向子類物件 父類引用指向子類物件 相當於指定了類在當下情況下的具體物件 例如 乙個父類a有三個子類b,c,d 而 a 物件名 new b 這一句則是明確告訴編譯器,現在這個類的具體物件是b,根據b的實際變數和方法,來進行...

關於抽象類與抽象方法

using system using system.collections.generic using system.linq using system.text using system.data using system.drawing using system.componentmodel u...