Java基礎語法:abstract修飾符
阿新 • • 發佈:2020-11-28
一、簡介
描述:
- 'abstract'修飾符可以用來修飾方法,也可以修飾類。
- 如果修飾方法,那麼該方法就是抽象方法;如果修飾類,那麼該類就是抽象類。
- 抽象類和抽象方法起到一個框架作用,方便後期擴充套件的重寫和呼叫。
注意:
- 抽象類中可以沒有抽象方法,但是有抽象方法的類一定要宣告為抽象類。
示例:
/* 抽象類的命名規範為以Base或Abstract開頭 */ public abstract class BasePerson { /* 抽象方法,沒有方法實現 */ public abstract void doSomething(); public void say() { System.out.println("person"); } }
二、抽象方法
描述:
- 宣告方法的時候,加上'abstract'修飾符,並且去掉方法的大括號,同時結尾加上分號,該方法就是抽象方法。
- 抽象方法只有方法的宣告,沒有方法的實現(沒有方法體),它是用來讓子類實現的。
作用:
- 抽象方法是為了程式的可擴充套件性,重寫抽象方法可實現方法同名但又非同目的的要求。
- 定義抽象方法,在需要時繼承後重寫呼叫,可以省去很多程式碼。
三、抽象類
描述:
- 宣告類的同時,加上'abstract'修飾符就是抽象類。
- 抽象類不能使用'new'關鍵字來建立物件,它是用來讓子類繼承的。
注意:
- 子類繼承抽象類後,需要實現抽象類中沒有實現的抽象方法,否則這個子類也要宣告為抽象類。
- 抽象類不能被例項化,但有構造器,會在子類例項化時呼叫,是用來實現多型中的共同點構造,一般不建議使用。
示例:
public abstract class BasePerson {
public abstract void doSomething();
}
/* 子類繼承抽象類後,需要實現抽象類中沒有實現的抽象方法。 */
class Student extends BasePerson {
public void doSomething() {
System.out.println("doSomething");
}
}