一、內部類
定義:乙個類的類體內再定義乙個類,該情況下外面的類稱為「外部類」,裡面的類稱為「內部類」。
內部類分為:①成員內部類 ②區域性內部類
③靜態內部類 ④匿名內部類
所有類可以方便訪問外部類的私有成員屬性。
① 成員內部類:在「外部類」內部定義乙個類。
② 區域性內部類:在方法中定義的內部類稱為區域性內部類
注意:不能用public或private訪問修飾符進行宣告;
作用域限定在宣告該類的方法塊中;
可以對外界完全隱藏起來。
實際開發中,很少使用區域性內部類,因為它作用域很小,只能在方法中使用。
③ 靜態內部類:使用static修飾乙個內部類,稱為靜態內部類。
④ 匿名內部類:無名字的內部類,適合只需要使用一次的類。
注意:1)不能有構造方法;
2)不能定義任何靜態成員、方法和類,但非靜態方法屬性內部類可以定義;
3)只能建立一次;
4)一定跟在new後面,建立共實現的介面或父類的物件。
二、單例模式
實現方式:①構造方法私有
②用乙個私有的靜態變數引用例項
③提供乙個公有的靜態方法獲取例項
單例模式和內部類
單例模式的特點 類中定義乙個無參的構造方法,並且宣告為私有 在類的內部建立該類的乙個例項物件,使用私有的靜態變數引用該例項物件 定義靜態方法返回該例項物件。靜態內部類方法內部類 靜態內部類中可以定義靜態成員和非靜態成員,如果要訪問非靜態成員,必須通過靜態內部類的物件或者物件的引用變數。在靜態方法中只...
js 設計模式 第四章
繼承 why?多個類公用的功能,如果重複拷貝,一方面,工作量大,另一方面,如果公用功能需要修改,則需要修改所有類中的這個功能,重複工作量大。為了減少複製以及帶來的不利於修改的問題,我們需要繼承 how?三種方法 classical inheritance prototypal inheritance...
單例模式 內部類
為什麼靜態內部類的單例模式是最推薦的?如何在反射的情況下保證單例?如何在反序列化中保證單例?針對上述三個問題有了這篇文章,以一種循序漸進的方式,引出最後一種單例設計模式,希望對大家能夠有所幫助。單例設計模式這種其實大家都懂,不多說,上 package singleton public class s...