Java中抽象類
阿新 • • 發佈:2021-08-11
樑飛宇
抽象方法:在類中沒有方法體的方法,就是抽象方法。
抽象類:含有抽象方法的類就叫抽象類。
抽象類中的抽象方法必須被實現!
如果一個子類沒有實現父類中的抽象方法,則子類也成為了一個抽象類!
抽象類中的普通方法,可以不必實現。
1.用abstract來修飾一個類時,這個類叫做抽象類;用abstract來修飾一個方法時,該方法叫做抽象方法。例如 :
抽象類:1 |
abstract class Animal { //用abstract來定義一個Animal為抽象類}
|
抽象方法:
1 |
public abstract void enjoy(); //用abstract來定義一個抽象方法"enjoy"
|
2含有抽象方法的類必須被宣告為抽象類,抽象類必須被繼承,抽象方法必須被重寫。
3抽象類不能被例項化。
4抽象方法只需宣告,而不需實現某些功能。如:
1 2 3 4 5 6 |
//抽象方法
public abstract void enjoy(); //這個抽象方法不需要實現功能
//一般方法
public void enjoy() {
System.out.print( "叫聲" ); //而一般的方法有必要實現某些功能
}
|
例A:沒抽象類的多型程式
例B:抽象類的多型程式
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
abstract class Person {
public abstract void f();
}
class Students extends Person {
public void f() {
System.out.println( "學生類" );
}
}
class Teacher extends Person {
public void f() {
System.out.println( "教師類" );
}
}
public class Test3 {
public static void main(String[] args) {
Person s = new Students();
Person t = new Teacher();
s.f();
t.f();
}
}
|