抽象類的定義:
public + abstract +class +類名。
抽象類的特點:
1. 抽象類和抽象方法都必須被abstract修飾。
2. 抽象類不能被例項化。
3. 抽象類的方法如果要被使用,子類繼承該抽象類再必須重寫此抽象類中所有的抽象方法。
4. 抽象方法只定義方法宣告,不定義方法實現
5. 抽象類裡面可以包含具體的方法,編譯且執行不報錯,但無意義
6. 抽象類中的方法可以被static修飾(不是抽象方法),能編譯且執行,但無意義
7. 抽象類中的建構函式用於給子類物件進行初始化,只有子類繼承並覆蓋抽象類中的所有方法才能被例項化
抽象方法不能被以下關鍵字修飾:
1. final 因為被final修飾的方法不能被重寫,被final修飾的類不能繼承
2. private 因為被private修飾的方法子類無法訪問
3. 抽象方法必須是public或者proteced.預設則預設為public.
抽象類的簡單例子:
1.建立抽象類(測試靜態方法,但無意義):
2.抽象類的實現,關鍵字(extends):
介面的定義:
public + inte***ce + 介面名
介面的特點:
1. 常用的成員固定格式:
全域性常量:public static final
抽象方法:public abstract
2. 介面不能被例項化
3. 介面的子類可以是抽象類,也可以是具體的類,但是具體的類必須實現介面裡面所有的方法。
4.介面沒有構造方法
5.介面能繼承繼承介面,也能多繼承介面
6.介面不能被protected,private,default,final,static關鍵字修飾。
7.介面的類裡面只能是抽象方法。
介面的實現:
public class 類名 implement 介面名
介面與抽象類的區別:
1).抽象類是對一種事物的抽象,即對類抽象,而介面是對行為的抽象,也就是對方法的抽象。
2).抽象類可以有具體的成員方法,而介面中只能存在抽象方法;
3).抽象類中的成員變數可以是各種型別的,而介面中的成員變數只能是public static final型別的;
4).介面中不能含有靜態**塊以及靜態方法,而抽象類可以有靜態**塊和靜態方法;
5)乙個類只能繼承乙個抽象類,而乙個類卻可以實現多個介面。
6).抽象類如果需要新增新的方法,可以直接在抽象類中新增具體的實現,子類可以不進行變更;而介面進行了變更,則所有實現這個介面的類都必須進行相應的改動。
Java 介面和抽象類
介面,inte ce,介面泛指供別人呼叫的方法和函式。介面的形式 public inte ce inte cename 介面的特點 1 介面中可以含有變數和方法。2 其中變數被隱式的指定為public static final 變數並且只能是這種變數。3 介面的方法隱式的指定為public abst...
java抽象類和介面
抽象類 乙個類中只要有乙個抽象方法 那麼這個類就必須是抽像的 抽象類必須要進行例項化 public abstract class animal class cat extends animal 介面 從本質上講介面是一種特殊的抽象類 介面中所有的方法都是抽象的 並且介面中的成員都是public 介面...
Java抽象類和介面
含有abstract修飾符的class即為抽象類,abstract類不能建立的例項物件。含有abstract方法的類必須定義為abstract class,abstract class類中的方法不必是抽象的。abstract class 類中定義抽象方法必須在具體 concrete 子類中實現,所以...