抽象類與抽象方法

2021-10-24 14:09:17 字數 1456 閱讀 1598

abstract:抽象的

abstract可以用來修飾的結構:類、方法

abstract修飾類:抽象類

此類不能例項化

抽象類中一定有構造器,便於子類物件例項化時呼叫(涉及:子類物件例項化的全過程)

開發中,都會提供抽象類的子類,讓子類物件例項化,完成相關的操作

abstract修飾方法:抽象方法

抽象方法只有方法的宣告,沒有方法體

包含抽象方法的類一定是乙個抽象類,反之,抽象類中可以沒有抽象方法

若子類重寫了父類中的所有抽象方法後,此子類方可例項化

若子類沒有重寫父類中的所有抽象方法,則此子類也是乙個抽象類

public

class

abstracttest

}abstract

class

person

public

person

(string name,

int age)

// 不是抽象方法

public

void

drink()

// 抽象方法

public

abstract

void

eat();

public

void

walk()

}abstract

class

student

extends

person

// 不重寫無法繼承父類,除非定義子類為抽象類

// public void eat()

}

abstract不能用來修飾:屬性和構造器等結構

abstract不能用來修飾私有方法、靜態方法、final的方法,final的類

//與上一部分**在同一包下

public

class

persontest

public

void

breath()

};// 建立匿名子類的匿名物件

method1

(new

person()

public

void

breath()

});}

public

static

void

methid1

(person p)

public

static

void

method

(student s)

}class

worker

extends

person()

public

void

walk()

}

抽象類與抽象方法

有些類注定是不能被初始化的,即不能被new 設想一下,乙個animal類下有很多子類,dog,cat,lion等,這些子類都可以被例項化,但是animal如果被例項化後會變成什麼樣?會有什麼特徵?這是難以想象的,因此像animal這樣的父類就不能例項化,我們迫切需要有一種類,只能例項化其子類物件而本...

抽象類與抽象方法

l 抽象類與抽象方法由abstract修飾 l abstract的使用注意 抽象方法沒有方法體 抽象成員只能存在於抽象類中 抽象類可以有非抽象成員 抽象類的派生類必須實現抽象方法體 抽象類只能用作基類,無法例項化 static void main string args public abstrac...

抽象類與抽象方法

抽象類 含有abstract修飾符的class即為抽象類 抽象類可以宣告物件,但不能例項化物件,必須靠子類將方法實現 含有abstract方法的類必須為抽象類 但是抽象類中的方法可以不是抽象的 抽象方法 抽象方法不能例項化,即沒有方法體 沒有 抽象方法在非抽象子類中需全部重寫 抽象方法只能存在抽象類...