抽象类的概述
抽象類的概述:
動(dòng)物不應(yīng)該定義為具體的東西,而且動(dòng)物中的吃,睡等也不應(yīng)該是具體的。
我們把一個(gè)不是具體的功能稱為抽象的功能,而一個(gè)類中如果有抽象的功能,該類必須是抽象類。
抽象類的特點(diǎn):
A:抽象類和抽象方法必須用abstract關(guān)鍵字修飾
B:抽象類中不一定有抽象方法,但是有抽象方法的類必須定義為抽象類
C:抽象類不能實(shí)例化
因?yàn)樗皇蔷唧w的。
抽象類有構(gòu)造方法,但是不能實(shí)例化?構(gòu)造方法的作用是什么呢?
用于子類訪問父類數(shù)據(jù)的初始化
D:抽象的子類
a:如果不想重寫抽象方法,該子類是一個(gè)抽象類。
b:重寫所有的抽象方法,這個(gè)時(shí)候子類是一個(gè)具體的類。
抽象類的實(shí)例化其實(shí)是靠具體的子類實(shí)現(xiàn)的。是多態(tài)的方式。
Animal a = new Cat();
?
抽象類的成員特點(diǎn):
成員變量:既可以是變量,也可以是常量。
構(gòu)造方法:有。
用于子類訪問父類數(shù)據(jù)的初始化。
成員方法:既可以是抽象的,也可以是非抽象的。
抽象類的成員方法特性:
A:抽象方法 強(qiáng)制要求子類做的事情。
B:非抽象方法 子類繼承的事情,提高代碼復(fù)用性。
?
一個(gè)類如果沒有抽象方法,可不可以定義為抽象類?如果可以,有什么意義?
A:可以。
B:不讓創(chuàng)建對(duì)象。
abstract不能和哪些關(guān)鍵字共存?
private 沖突
final 沖突
static 無意義
轉(zhuǎn)載于:https://www.cnblogs.com/wlmLinker/p/5723908.html
總結(jié)
- 上一篇: Leetcode 102. Binary
- 下一篇: ms project(第一篇笔记)