單例模式跟靜態類比有什麼好處

在寫代碼當中,這兩者都很常見,單例模式和靜態類都能保證對象在全局只有一個實體。但是面試的時候,面試官往往會問,單例模式比靜態類有哪些好處呢?爲什麼要使用單例模式呢?他們兩者都可以是線程安全的。

1.單例模式是可以繼承其他類或者實現其他接口的,而靜態類不行。所以單例模式的擴展性更加好。

2.單例模式是有狀態的,而靜態類是無狀態的。這樣的話,單例模式就更加符合面向對象的思想。

3.單例對象在對象第一次使用的時候才進行實例化,將實例化延後是爲了避免類加載後實例使用前內存的浪費。而靜

靜態方法的類會在代碼編譯的時候就被加載。單例模式儲存在heap(堆區)而靜態類儲存在棧區。

以上三點是我對單例模式和靜態類的思考。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章