單例 工廠模式 內部類

2021-07-04 14:45:51 字數 1539 閱讀 1837

設計模式:

解決某類問題的乙個固定的程式設計模式,思路  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...

單例模式和內部類

單例模式的特點 類中定義乙個無參的構造方法,並且宣告為私有 在類的內部建立該類的乙個例項物件,使用私有的靜態變數引用該例項物件 定義靜態方法返回該例項物件。靜態內部類方法內部類 靜態內部類中可以定義靜態成員和非靜態成員,如果要訪問非靜態成員,必須通過靜態內部類的物件或者物件的引用變數。在靜態方法中只...