小白學JAVA《十三》 介面

2021-08-28 00:24:19 字數 1333 閱讀 2716

一、概念

(1)訪問修飾符:只能用public

**於外部給類附加的功能

(2)介面無法例項化,只能由實現類來例項化

(3)關鍵字:inte***ce/implements

(4)不允許非抽象方法存在,介面中只能允許抽象方法存在

二、特點

(1)介面檔案最後同樣也會被編譯器編譯成 服務介面.class 位元組碼檔案

(2)介面和抽象類一樣,同樣不能被例項化

(3)介面中的所有方法,都只能定義成抽象方法,不能擁有方法體

(4)介面中的所有方法,訪問修飾符預設就是public。可以不寫,即使不寫也會預設

(5)介面中不能擁有構造器,以及初始化塊(靜態初始化塊)

(6)介面中不能定義「成員變數」,只能定義公開的,並且是靜態常量

6.1在定義常量時,可以寫成public、static、final、,也可以寫成static fainal,也可以寫final.甚至可以去掉final.

(7)介面中可以定義無限個常量,可以定義無限的抽象方法

(8)介面在使用上來講,不能被例項化,所有的抽象方法都必須由介面的實現類來實現

(9)類不能繼承介面,只能實現介面,類只能單繼承,但是可以多實現。介面之間採用「逗號」間隔

(10)將設計和實現分離,對外隱藏了實現

(11)面向介面程式設計是oop的核心

三、使用介面的原則

(1)使用介面解決多繼承

(2)使用介面為外部類新增功能

(3)以物件導向的角度考慮,將乙個類與身自來的特徵和行為和依賴於外部的特徵和行為分離,讓類盡可能的豐富,讓我們在設計程式的時候,不再關注具體的類,而是分離關注的是類上面擁有哪些介面所定義的能力,從而做到程式設計時,類類的直接關係,變換為類-介面-類,這種變換關係。被稱之為「解耦」

(4)jdk在1.8以後,出現的新的特性

4.1介面中可以,新增非抽象方法,但是需要使用default關鍵字來宣告非抽象方法,但此時的default已經不再是乙個訪問修飾符,而真正的訪問修飾符還是public

4.2介面中可以使用static宣告靜態方法,但是必須要有方法體的實現

四、介面和抽象類的區別

(1)介面裡所有的方法都是abstract的,所有的屬性都是public. static.final

(2)抽象類是介面的部分實現,既能定義abstract方法,也能定義普通方法和屬性,比介面更加靈活

(3)正確選擇使用2者的時機

(4)定義

4.1 介面:inte***ce 抽象:abstract

(5)設計

(1)抽象是與生俱來的

(2)附加增加的

java基礎(二十三)介面

對於介面當中常見的成員 而且這些成員都有固定的修飾符 1.全域性常量 public static final 2.抽象方法 public abstract 介面中的成員都是公共的許可權 inte ce demo 如果不寫這些修飾符,它會自動加上 特點 介面是對外暴露的規則 介面是程式的功能擴充套件 ...

JAVA基礎 三 介面 靜態工廠01

多型 1 複習 2 新內容 一 物件導向的應用 被客戶不斷變化的需求折磨 客戶的需求總是在不斷變化過程中 原因很簡單 客戶根本不知道自己需要什麼東西,先給你提出乙個需求。等你程式開發出來了,他用了,可能跟他想的 說的不一樣,伴隨著整個軟體開發的生命週期。我們無法阻止客戶變更需求,我們使用物件導向的設...

小白學JAVA《十一》 多型

一 概念 相同的行為。不同的實現 二 靜態多型 1.能夠在編譯期間就確定方法被哪乙個物件所執行的過載或重寫 在編譯的時候就知道方法的呼叫 2.使用過載實現 三 動態多型 1.不能夠在編譯期間就確定方法被哪乙個物件所執行的過載或重寫 在後期傳值後才知道方法如何呼叫 2.使用動態繫結和重寫實現 四 動態...