介面(inte***ce)可以說成是抽象類的一種特例,介面中的所有方法都必須是抽象的。
介面中的方法定義預設為public abstract型別,介面中的成員變數型別預設為public static final。另外,介面和抽象類在方法上有區別:
1.抽象類可以有構造方法,介面中不能有構造方法。
2.抽象類中可以包含非抽象的普通方法,介面中的所有方法必須都是抽象的,不能有非抽象的普通方法。
3.抽象類中可以有普通成員變數,介面中沒有普通成員變數
4. 抽象類中的抽象方法的訪問型別可以是public,protected和預設型別
5. 抽象類中可以包含靜態方法,介面中不能包含靜態方法
6. 抽象類和介面中都可以包含靜態成員變數,抽象類中的靜態成員變數的訪問型別可以任意,但介面中定義的變數只能是public static final型別,並且預設即為public static final型別
7. 乙個類可以實現多個介面,但只能繼承乙個抽象類。二者在應用方面也有一定的區別:介面更多的是在系統架構設計方法發揮作用,主要用於定義模組之間的通訊契約。而抽象類在**實現方面發揮作用,可以實現**的重用,例如,模板方法設計模式是抽象類的乙個典型應用,假設某個專案的所有servlet類都要用相同的方式進行許可權判斷、記錄訪問日誌和處理異常,那麼就可以定義乙個抽象的基類,讓所有的servlet都繼承這個抽象基類,在抽象基類的service方法中完成許可權判斷、記錄訪問日誌和處理異常的**,在各個子類中只是完成各自的業務邏輯**
java抽象類 介面特性
抽象類可以繼承抽象類,抽象類可以實現介面,此時均不用實現方法 具體類繼承抽象類時需要實現方法 抽象類可以繼承具體類 介面只能繼承介面 package com.company created by liuyazhou on 2017 6 10.public abstract class baseabs...
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 介面...