java 介面和常用設計模式

2021-09-24 03:57:37 字數 2304 閱讀 9432

可以理解為是一種特殊的抽象類。使用inte***ce關鍵字定義介面。

抽象類:是乙個事物所具有的功能。

介面:是乙個事物所具有的額外功能。

二者之間的選擇,推薦使用介面,如果父類的功能有功能體實現的,也有只定義功能子類可以具有的功能,但是沒有實現,可以抽象類。

介面的優點:

提高**的復用性。

解耦。定義程式設計規範。

介面多實現。

在jdk1.7及以前:

屬性:使用public static final 修飾公共的靜態的常量。

修飾可以不寫,但會預設存在。

eg:public static final int a=5;

和int a=5;是一樣的。

方法:使用public abstract修飾公共的抽象的方法。

修飾可以不寫,但會預設存在。

eg:public abstract void haha();

和int hehe();都是抽象方法。

注意:介面不能例項化。

介面需要實現,實現介面使用關鍵字implements,實現了介面就擁有了介面中的功能(與繼承很像)。

介面的使用:

1)具體的實現類:實現了介面,就要重寫這個介面中的所有抽象方法+按需新增。

2)抽象的實現類:重寫部分抽象功能+按需新增。

類只能實現介面,不能繼承介面,但是類只能繼承類,不能實現類,類單繼承類,類多實現介面。

介面不能繼承和實現類,介面只能繼承介面,不能實現介面,介面可以多繼承介面。

乙個類要先繼承後實現。

jdk1.8新增功能:

靜態方法

使用:只能通過介面名字呼叫

預設的方法

使用:只能通過實現類的物件使用

單例模式:保證乙個類只能構建乙個例項。

餓漢式:在類第一次載入的時候就建立例項 --執行緒安全的

懶漢式:第一次呼叫功能的時候建立例項 --執行緒不安全的,效率較高

實現步驟:

構造器私有化

私有的靜態的該類的引用

公共的靜態的訪問方式

//餓漢式單例

public class single

//3.公共的靜態的訪問方式

public static single newinstance()

//懶漢式單例

public class singleton

//3.公共靜態的訪問方式

//a b c

/*public static singleton newinstance()

return single;

}*///鎖方法

/*public synchronized static singleton newinstance()

return single;

}*///鎖**塊

public static singleton newinstance()

} return single; }}

public class test

}

靜態**模式

**模式的特點:

1.真實角色和**角色實現相同的介面|父類

2.**角色持有真實角色的引用

3.**行為

public class staticproxy 

}//相同的介面

inte***ce adduser

//真實角色:專案經理

class usermanager implements adduser

}//**角色:hr

class hr implements adduser

public hr(usermanager manager)

@override

public void adduser()

}

簡單工廠模式

抽象產品角色:具體產品角色實現的介面|繼承的父類。

public class factory 

//工廠

public static car factory(string type)else

return car; }}

//抽象產品角色

inte***ce car

//具體產品角色

class bmw implements car

}class mes implements car

}

JAVA 常用設計模式

一 單例設計模式 單例就是 保證乙個類僅有乙個例項,僅提供乙個訪問它的全域性訪問點。之前這個用得比較多 採用單例設計模式的類 singleton類 永遠只會有乙個例項化物件產生。具體實現步驟如下 1 將採用單例設計模式的類的構造方法私有化 採用private修飾 2 在其內部產生該類的例項化物件,並...

常用java設計模式

spring用到哪些設計模式 單例模式 public class singletondemo public static singletondemo getdemo return demo class testdemo 工廠模式 總體來說,凡是出現了大量的產品需要建立,並且具有共同的介面時,可以通過...

java常用設計模式 適配模式

適配模式 分為類的適配模式和物件的適配模式.舉個栗子,假如我有乙個粗水管cu和乙個細xi的水管,我要把他們接在一起,那怎麼辦呢 中間加個接頭不就好了嗎 zz 這個接頭就是介面卡.要求介面卡也得有一面是細的,一面是粗的,介面卡需要有的屬性,可以歸類成target.一 類的適配模式 細管子需要粗的管子為...