java 抽象類和介面

2021-08-21 22:19:34 字數 1848 閱讀 8230

抽象類的定義:

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 子類中實現,所以...