設計模式:
解決某類問題的乙個固定的程式設計模式,思路 23種
1.單例模式:只有乙個例項
//這個類的只給提供乙個例項
public class sessionfactory
//3.提供乙個靜態方法,返回私有的靜態的本類的屬性
//向外界提供乙個例項
public static sessionfactory getintance()
return sf;
}}
測試
public class sessionfactorytest
}
2.工廠模式:一般物件都是通過new
構造方法來建立的,工廠模式是提供了一種方法,可以通過這個方法來獲取物件
public class accountfactory else if(type==1)
return null;
}}
內部類
什麼是內部類,定義在類的內部的類叫內部類
分類:以類成員的形式定義:成員內部類
有無static
修飾
有:靜態內部類
無:動態內部類
定義在方法的內部:區域性內部類,匿名內部類
jdk1.8之前的匿名內部類只能訪問被
final
修飾的區域性變數
public class outer
//成員內部類
public class inner1
public void m2() }
public static class inner2 }
public void m3()
} inner4 i4 = new inner4();
i4.m1(); }
public void m4()
};}}
測試
mport org.junit.test;
public class outertest
@test
public void test2()
@test
public void test3()
}
為什麼要使用內部類:
內部類可以直接使用外部類的私有屬性
訪問規則
靜態內部類只能訪問靜態成員
成員內部類可以類的外部訪問
靜態內部類new outer.staticinner()
動態內部類:new outer().new inner()
區域性內部類只能在方法的內部訪問
當內部類被編譯後,其生成的class
檔名為:外部類名
$內部類名
.class
單例模式 內部類
為什麼靜態內部類的單例模式是最推薦的?如何在反射的情況下保證單例?如何在反序列化中保證單例?針對上述三個問題有了這篇文章,以一種循序漸進的方式,引出最後一種單例設計模式,希望對大家能夠有所幫助。單例設計模式這種其實大家都懂,不多說,上 package singleton public class s...
單例模式 靜態內部類
靜態內部類是乙個很好的實現單例的方式 看 package cn.liz.syn public class staticinner 私有的靜態內部類 private static class inner 公共的 獲取例項的方法 public static staticinner getinstance...
單例模式和內部類
單例模式的特點 類中定義乙個無參的構造方法,並且宣告為私有 在類的內部建立該類的乙個例項物件,使用私有的靜態變數引用該例項物件 定義靜態方法返回該例項物件。靜態內部類方法內部類 靜態內部類中可以定義靜態成員和非靜態成員,如果要訪問非靜態成員,必須通過靜態內部類的物件或者物件的引用變數。在靜態方法中只...