本文介紹了抽象類與私有構(gòu)造函數(shù)的處理方法,對(duì)大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!
問題描述
我有一個(gè)Java類,它只有靜態(tài)方法和字段,所以我不希望為此創(chuàng)建任何對(duì)象。
我可以通過兩種方式實(shí)現(xiàn)這一點(diǎn)
-
放棄類。
使用私有構(gòu)造函數(shù)。
這兩種方法哪一種更好?
推薦答案
您應(yīng)該使用private
構(gòu)造函數(shù)。
如果您的類是抽象的,則可以對(duì)其進(jìn)行擴(kuò)展并創(chuàng)建對(duì)象。根據(jù)我從問題中的理解,您需要的是不可實(shí)例化的類。
發(fā)件人Item 4 of Effective java:
試圖通過使類抽象來(lái)強(qiáng)制非實(shí)例化是不起作用的。類可以子類化,子類可以實(shí)例化。此外,它還誤導(dǎo)用戶認(rèn)為該類是為繼承而設(shè)計(jì)的
這篇關(guān)于抽象類與私有構(gòu)造函數(shù)的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,