1. 程式人生 > >java基礎——抽象類與抽象方法

java基礎——抽象類與抽象方法

抽象方法:在類中沒有方法體的方法,就是抽象方法。

抽象類:含有抽象方法的類就叫抽象

抽象類中的抽象方法必須被實現!

如果一個子類沒有實現父類中的抽象方法,則子類也成為了一個抽象類!

抽象類中的普通方法,可以不必實現。

1 用abstract關鍵字來修飾一個類時,這個類叫做抽象類;用abstract來修飾一個方法時,該方法叫做抽象方法。例如 :

abstract class Animal { //用abstract來定義一個Animal為抽象類
}

public abstract void enjoy(); //用abstract來定義一個抽象方法"enjoy"

2 含有抽象方法的類必須被宣告為抽象類,抽象類必須被繼承,抽象方法必須被重寫。

3 抽象類不能被例項化。

4 抽象方法只需宣告,而不需實現某些功能。如:

public abstract void enjoy(); 
上面的這個抽象方法不需要實現功能,而一般的方法 :
public void enjoy() {
System.out.print("叫聲"); //有必要實現某些功能
}

例子 :多型程式,沒抽象類的

class Person {
public void f() {
System.out.println("父類");
}
}

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(); } }
抽象類的多型程式:
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(); } }