java中的enum型別與單態設計模式

2021-08-31 20:22:01 字數 317 閱讀 5979

單態設計模式有三種做法:

1.宣告公有例項為public

2.公有例項為private,對外提供public的方法返回例項。這包括懶載入與勤載入。

3.利用1.5中引入的enum型別。

這三種中,最好的是用enum型別,因為前兩種不能抵禦反射攻擊(也能做到,但是是要在例項第二個物件的時候丟擲異常),並且物件序列化上還要自己做一些額外的工作,而enum天生是抵禦反射攻擊,並且在序列化上是不用自己再做額外的工作,這一點用起來很方便。

enum其實也是乙個類,它能支援singleton的原因是它自動的將它的建構函式做成是private的。

Java 中的enum型別

這算是乙個對於我來說有點陌生的知識點,是在前後端分離的專案中,如何向前端傳遞錯誤資訊的設定時用到的,將常量封裝到乙個類中,並且要提供相應的構造器,還可以提供更多的方法,這是常量所沒有的性質。public enum ccc使用的場景 在web 開發專案中實體型別使用列舉型別 一般在該實體類的包下新建乙...

Java中的列舉 EnumMap與EnumSet

public enum databasetype 某類中定義的獲取資料庫url的方法以及enummap的宣告。private enummapurls new enummap databasetype.class public databaseinfo 根據不同的資料庫型別,返回對應的url para...

框架中的單態

用spring的factory.getbean 方法構造的bean預設是單態的,所以盡量不要在bean中構造例項字段,並在外部對該字段進行修改,在內部對其讀取。否則就會出現多錯誤。推而廣之所有單態的類都應該避免使用例項字段。此外對單態模式來說spring 構造bean用的是單態,struts1中的a...