·抽象方法
使用abstract修飾的方法,沒有方法體,只有聲明。定義的是一種“規范”,就是告訴子類必須要給抽象方法提供具體的實現。
·抽象類
包含抽象方法的類就是抽象類。通過abstract方法定義規范,然后要求子類必須定義具體實現。通過抽象類,我們就可以做到嚴格限制子類的設計,使子類之間更加通用。
【示例】抽象類和抽象方法的基本用法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
//抽象類
abstract
class
Animal {
abstract
public
void
shout();
//抽象方法
}
class
Dog
extends
Animal {
//子類必須實現父類的抽象方法,否則編譯錯誤
public
void
shout() {
System.out.println(
"汪汪汪!"
);
}
public
void
seeDoor(){
System.out.println(
"看門中...."
);
}
}
//測試抽象類
public
class
TestAbstractClass {
public
static
void
main(String[] args) {
Dog a =
new
Dog();
a.shout();
a.seeDoor();
}
}
|
抽象類的使用要點:
1. 有抽象方法的類只能定義成抽象類
2. 抽象類不能實例化,即不能用new來實例化抽象類。
3. 抽象類可以包含屬性、方法、構造方法。但是構造方法不能用來new實例,只能用來被子類調用。
4. 抽象類只能用來被繼承。
5. 抽象方法必須被子類實現。