抽象類abstract
- abstract修飾符可以用來修飾方法也可以修飾類,那麼該方法就是抽象方法:如果修飾類,那麼該類就是抽象類
- 抽象類中可以沒有抽象方法,但是抽象方法的類一定要聲明為抽象類
- 抽象類,不能用new關鍵字來建立對象,它是用來讓子類繼承的
- 抽象方法,隻有方法的聲明,沒有方法的實作,它是用來讓子類實作的
- 子類繼承抽象類,那麼就必須要實作抽象類沒有實作的抽象方法,否則該子類也要聲明為抽象類
通俗來說就是作為父類來規範子類必許的實作,例如将狗抽象為父類方法,因為不同種類的狗在吃的方面有所不同,是以父類沒有辦法完成具體實作,就用抽象方法來限制子類去實作自己的方法,抽象方法隻能寫在抽象類裡
package com.yuanpei.oop.demo07;
//abstract 抽象類;類 extends : 單繼承 (接口可以多繼承)
public abstract class demo01 {
//限制 有人幫我們實作
//abstract: 抽象方法,隻有方法名字,沒有方法的實作!
public abstract void dog();
}
class A extends demo01{
//抽象類的所有方法,繼承了他的子類,都必須要實作他的方法
@Override//重寫方法
public void dog() {
}
}
/*
1.不能new這個抽象類,隻能靠子類去實作它:限制!
2.抽象類中可以寫普通方法
3.抽象方法可以在抽象類中
* */