Abstract 關鍵字

Abstract 關鍵字

Abstract 可以修飾類、方法

關鍵點
  • 如果一個類被修飾爲abstract,則此類必須被繼承使用
  • abstract類不能存在對象
  • abstract類可以將子類的共性最大型度的抽取出來,放在父類中,以提高簡潔性
  • abstract修飾某個方法的,此時這個方法爲抽象方法,不許呀實現,在子類中實現後纔可以生效
  • 抽象類中可以包含普通的方法,也可以沒有抽象方法
注意
private void print(){};此語句表示方法的空實現。 
Abstract void print(); 此語句表示方法的抽象,無實現。

子類的方法必須覆蓋父類的抽象方法,方法才能夠起作用。

爲了實現多態,那麼父類必須有定義。而父類並不實現,留給子類去實現。此時可將父類定義成abstract類。如果沒有定義抽象的父類,那麼編譯會出現錯誤。
Abstract和static不能放在一起,否則便會出現錯誤。(這是因爲static不可被覆蓋,而abstract爲了生效必須被覆蓋。)

例子
public abstract class Telphone{
    public abstract void call();
    public abstract void message();
}
public class CellPhone extends Telphone{
    @Override
    public void call(){

    }
    @Override
    public void message(){

    }
}
public class SmartPhone extends Telphone{
    @Override
    public void call(){

    }
    @Override
    public void message(){

    }
}
public class Test{
    public static void main(String[] args){
        Telphone tp1 = new CellPhone();
        tp1.call();
        tp1.message();
        Telphone tp2 = new SmartPhone();
        tp2.call();
        tp2.message();
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章