java基礎——抽象類與抽象方法
阿新 • • 發佈:2019-02-08
抽象方法:在類中沒有方法體的方法,就是抽象方法。
抽象類:含有抽象方法的類就叫抽象
抽象類中的抽象方法必須被實現!
如果一個子類沒有實現父類中的抽象方法,則子類也成為了一個抽象類!
抽象類中的普通方法,可以不必實現。
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();
}
}