回覆列表
  • 1 # 使用者3835080089008

    abstract類不能建立的例項物件。含有abstract方法的類必須定義為abstractclass,abstractclass類中的方法不必是抽象的。abstractclass類中定義抽象方法必須在具體(Concrete)子類中實現,所以,不能有抽象構造方法或抽象靜態方法。如果的子類沒有實現抽象父類中的所有抽象方法,那麼子類也必須定義為abstract型別。介面(interface)可以說成是抽象類的一種特例,介面中的所有方法都必須是抽象的。介面中的方法定義預設為publicabstract型別,介面中的成員變數型別預設為publicstaticfinal。下面比較一下兩者的語法區別:

    1.抽象類可以有構造方法,介面中不能有構造方法。

    2.抽象類中可以有普通成員變數,介面中沒有普通成員變數3.抽象類中可以包含非抽象的普通方法,介面中的所有方法必須都是抽象的,不能有非抽象的普通方法。4.抽象類中的抽象方法的訪問型別可以是public,protected和(預設型別,雖然eclipse下不報錯,但應該也不行),但介面中的抽象方法只能是public型別的,並且預設即為publicabstract型別。5.抽象類中可以包含靜態方法,介面中不能包含靜態方法6.抽象類和介面中都可以包含靜態成員變數,抽象類中的靜態成員變數的訪問型別可以任意,但介面中定義的變數只能是publicstaticfinal型別,並且預設即為一個類可以實現多個介面,但只能繼承一個抽象類。

  • 中秋節和大豐收的關聯?
  • 如何為孩子選擇合適的舞蹈班?