【Java介面修飾符是public abstract】
介面就是提供一種統一的”協議”,而介面中的屬性也屬於“協議”中的成員。它們是公共的,靜態的,最終的常量。相當於全域性常量。抽象類是不“完全”的類,相當於是介面和具體類的一箇中間層。即滿足介面的抽象,也滿足具體的實現。
介面中不可以定義變數即定義的變數前都要加上final修飾,使之成為常量(沒有final修飾的是變數,加上final修飾就會變成常量)。所以介面的屬性預設是public static final 常量,且必須賦初值。
【抽象類】
abstract抽象
1、修飾類時為抽象類,即為概念類,不能例項化;
2、修飾的方法為抽象方法,該方法沒有方法體,必須由子類實現,若沒有實現會報錯;
3、子類若為抽象類,則其中的抽象方法可不實現;
注:抽象類可以沒有抽象方法,但抽象方法所在的類必須為抽象類
【抽象類和介面的相同點和區別】
1、抽象類是建立一個體現某些基本行為的類,並宣告各種方法但不實現該類,這點與介面類似;但區別是抽象類中可以有抽象方法和非抽象方法,介面中的方法都為抽象方法;
2、抽象類中不能有抽象構造方法和抽象靜態方法;
3、介面中的變數只能定義static
【Java介面修飾符是public abstract】
介面就是提供一種統一的”協議”,而介面中的屬性也屬於“協議”中的成員。它們是公共的,靜態的,最終的常量。相當於全域性常量。抽象類是不“完全”的類,相當於是介面和具體類的一箇中間層。即滿足介面的抽象,也滿足具體的實現。
介面中不可以定義變數即定義的變數前都要加上final修飾,使之成為常量(沒有final修飾的是變數,加上final修飾就會變成常量)。所以介面的屬性預設是public static final 常量,且必須賦初值。
【抽象類】
abstract抽象
1、修飾類時為抽象類,即為概念類,不能例項化;
2、修飾的方法為抽象方法,該方法沒有方法體,必須由子類實現,若沒有實現會報錯;
3、子類若為抽象類,則其中的抽象方法可不實現;
注:抽象類可以沒有抽象方法,但抽象方法所在的類必須為抽象類
【抽象類和介面的相同點和區別】
1、抽象類是建立一個體現某些基本行為的類,並宣告各種方法但不實現該類,這點與介面類似;但區別是抽象類中可以有抽象方法和非抽象方法,介面中的方法都為抽象方法;
2、抽象類中不能有抽象構造方法和抽象靜態方法;
3、介面中的變數只能定義static