文章詳情頁(yè)
Effective java學(xué)習(xí)筆記3:用私有構(gòu)造函數(shù)強(qiáng)化不可實(shí)例化能力
瀏覽:49日期:2024-06-18 17:56:25
內(nèi)容: 有時(shí)候我們會(huì)編一些只含有靜態(tài)域和靜態(tài)方法的類(lèi).比如把操作原始類(lèi)型和數(shù)組類(lèi)型的方法集中起來(lái):java.lang.Math,java.util.Arrays..或者把操作在特定接口之上的對(duì)象的方法集中起來(lái),比如java.util.Collections.這個(gè)時(shí)候,不要試圖創(chuàng)建一個(gè)abstract 類(lèi)來(lái)使之不可實(shí)例化,因?yàn)閍bstract類(lèi)可以被繼承,最終被實(shí)例化.也不要試圖不給出構(gòu)造函數(shù),因?yàn)榧词惯@個(gè)類(lèi)沒(méi)有構(gòu)造函數(shù)jvm也會(huì)給出一個(gè)默認(rèn)的構(gòu)造函數(shù).所以,可以給出一個(gè)顯示的私有構(gòu)造函數(shù),確保不可實(shí)例化.Example:// Noninstantiable utility class - page 12public class UtilityClass { // Suppress default constructor for noninstantiability private UtilityClass() { // This constructor will never be invoked } // ... // Remainder omitted} Java, java, J2SE, j2se, J2EE, j2ee, J2ME, j2me, ejb, ejb3, JBOSS, jboss, spring, hibernate, jdo, struts, webwork, ajax, AJAX, mysql, MySQL, Oracle, Weblogic, Websphere, scjp, scjd
標(biāo)簽:
Java
上一條:Effective java學(xué)習(xí)筆記4:避免創(chuàng)建重復(fù)對(duì)象下一條:Effective java學(xué)習(xí)筆記2:使用私有構(gòu)造函數(shù)來(lái)強(qiáng)化單態(tài)性
相關(guān)文章:
1. 《javascript設(shè)計(jì)模式》學(xué)習(xí)筆記二:Javascript面向?qū)ο蟪绦蛟O(shè)計(jì)繼承用法分析2. JavaScript閉包原理與用法學(xué)習(xí)筆記3. lighttpd+PHP(FAST-CGI)+MySQL的學(xué)習(xí)筆記4. vue學(xué)習(xí)筆記之slot插槽用法實(shí)例分析5. Python GUI編程學(xué)習(xí)筆記之tkinter界面布局顯示詳解6. Effective java學(xué)習(xí)筆記5:消除對(duì)過(guò)期對(duì)象的引用7. Linux 下安裝PHP性能分析工具 xhprof 筆記8. asp知識(shí)整理筆記2(問(wèn)答模式)9. Spring Security學(xué)習(xí)筆記(一)10. vue學(xué)習(xí)筆記之動(dòng)態(tài)組件和v-once指令簡(jiǎn)單示例
排行榜
