Java中的抽象

scbiaosdo發表於2018-04-18
在Java程式設計中,利用abstract關鍵字來進行抽象,

抽象的目的:

1.把物件的共性抽取出來,使得程式碼編寫簡潔,容易維護。
2.定義一系列規範(方法),繼承抽象類的實體類必須滿足這些規範(實現抽象方法),這是複雜系統的基礎。
3.好的抽象應該就是現實世界的反映,把共性封裝成抽象類,但又不存在於現實世界所以不可能例項化。
抽象類的特點:抽象類不能直接例項化!(不能建立物件)        

關於抽象類:

1)如果一個類中有抽象方法,那麼這個類是一定是一個抽象類
2)抽象類中不一定都是抽象方法

抽象類的子類

1)如果子類是抽象類,沒有意義,因為都不能例項化,物件如何建立
2)子類具體類,那麼子類必須實現父類中的抽象功能.

抽象類的成員特點:

成員變數:
 可以是變數,也是一個常量
 構造方法:可以有無參,可以有有參,作用:給物件進行初始化的.
 成員方法:可以有抽象方法,還可以有非抽象方法...
abstract和哪些關鍵字是衝突的,不能共有!
 
     abstract 和 private
      abstract 和 final
     abstract 和 static

程式示例:

public abstract class Animal {          //抽象類
    public abstract void cry();         //抽象方法
}
public class Cat extends Animal{
    public void cry() {
        System.out.println("貓叫:喵喵...");    //方法重寫
    }
}
public class Dog extends Animal{
    public void cry() {
        System.out.println("狗叫:汪汪...");     //方法重寫
    }
}
public class Test {
    public static void main(String[] args) {
        Animal a1 = new Cat();                  //向上轉型
        Animal a2 = new Dog();       
        a1.cry();
        a2.cry();
    }
}


相關文章