java物件導向(2)
單例設計模式
解決一個類在記憶體只存在一個物件
想要保證物件唯一:
1.為了避免其他程式過多建立該類物件。先禁止其他程式建立該類物件
2.為了讓其他程式可以訪問到該類物件,只好在本類中自定義一個物件
3.為了方便其他程式對自定義物件的訪問,可以對外提供一些訪問方式。
程式碼中的體現:
1.將建構函式私有化
2.在類中建立一個本類物件
3.提供一個方法可以獲取到該物件
懶漢式和餓漢式
餓漢式:先初始化物件,類一進記憶體,就已經建立好了物件
class Single
{
private Single(){}
private static Single s = new Single();
public static Single getInstance()
{
return s;
}
}
{
private Single(){}
private static Single s = new Single();
public static Single getInstance()
{
return s;
}
}
懶漢式:物件是方法被呼叫時才初始化,也叫物件的延時載入。類進記憶體,物件還沒有存在,只有呼叫了方法時才建立物件。
class Single
{
private static Single s = null;
private Single(){}
public static Single getInstance()
{
if(s==null)
{
synchronized(Single.class)
{
if(s==null)
s = new Single();
}
}
return s;
}
}
{
private static Single s = null;
private Single(){}
public static Single getInstance()
{
if(s==null)
{
synchronized(Single.class)
{
if(s==null)
s = new Single();
}
}
return s;
}
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27026361/viewspace-1182851/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 2-Java面試-物件導向Java面試物件
- Java物件導向Java物件
- [Java物件導向]Java物件
- Java — 物件導向Java物件
- Java第七課. 物件導向特徵2Java物件特徵
- JAVA物件導向基礎--物件導向介紹Java物件
- Java:Java的物件導向Java物件
- java物件導向(上)Java物件
- java物件導向(中)Java物件
- JAVA物件導向思想Java物件
- [Java物件導向]finalJava物件
- Java物件導向(一)Java物件
- java的物件導向Java物件
- Java 物件導向概述Java物件
- Java物件導向——類與物件Java物件
- 10.物件導向(2)物件
- 第三週:java物件導向部分總結(2)Java物件
- JAVA物件導向--抽象類Java物件抽象
- Java基礎 --- 物件導向Java物件
- Java物件導向--多型Java物件多型
- [Java物件導向]static方法Java物件
- JAVA物件導向之多型Java物件多型
- JAVA物件導向基礎Java物件
- 二、Java之物件導向Java物件
- java物件導向繼承Java物件繼承
- 物件導向-物件導向思想物件
- java day6 java陣列2與物件導向1Java陣列物件
- java基礎二:物件導向Java物件
- java物件導向作業4Java物件
- java物件導向作業3Java物件
- Java物件導向三大特徵Java物件特徵
- Java物件導向詳解-上Java物件
- java 物件導向必懂概述Java物件
- Java物件導向三大特性Java物件
- Java--物件導向設計Java物件
- 物件導向之封裝(Java)物件封裝Java
- [寫作中...]Js物件導向(2): 建立物件JS物件
- Java語言之物件導向—類與物件(上)Java物件
- 面向Python,物件導向(基礎2)Python物件