更新時(shí)間:2022-09-05 09:40:14 來源:動(dòng)力節(jié)點(diǎn) 瀏覽882次
Java單例模式是 Java 中最簡單的設(shè)計(jì)模式之一。這種類型的設(shè)計(jì)模式屬于創(chuàng)建模式,因?yàn)檫@種模式提供了創(chuàng)建對(duì)象的最佳方法之一。
這種模式涉及一個(gè)單一的類,它負(fù)責(zé)創(chuàng)建一個(gè)對(duì)象,同時(shí)確保只創(chuàng)建一個(gè)對(duì)象。該類提供了一種訪問其唯一對(duì)象的方法,該對(duì)象可以直接訪問而無需實(shí)例化該類的對(duì)象。
我們將創(chuàng)建一個(gè)SingleObject類。SingleObject類的構(gòu)造函數(shù)是私有的,并且有一個(gè)自身的靜態(tài)實(shí)例。
SingleObject類提供了一個(gè)靜態(tài)方法來獲取其靜態(tài)實(shí)例到外部世界。SingletonPatternDemo,我們的演示類將使用SingleObject類來獲取SingleObject對(duì)象。
第1步
創(chuàng)建一個(gè)單例類。
public class SingleObject {
//create an object of SingleObject
private static SingleObject instance = new SingleObject();
//make the constructor private so that this class cannot be
//instantiated
private SingleObject(){}
//Get the only object available
public static SingleObject getInstance(){
return instance;
}
public void showMessage(){
System.out.println("Hello World!");
}
}
第2步
從單例類中獲取唯一的對(duì)象。
public class SingletonPatternDemo {
public static void main(String[] args) {
//illegal construct
//Compile Time Error: The constructor SingleObject() is not visible
//SingleObject object = new SingleObject();
//Get the only object available
SingleObject object = SingleObject.getInstance();
//show the message
object.showMessage();
}
}
第3步
驗(yàn)證輸出。
Hello World!
以上就是關(guān)于“一文明白什么是單例模式”的介紹,大家如果想了解更多相關(guān)知識(shí),可以關(guān)注一下動(dòng)力節(jié)點(diǎn)的Java設(shè)計(jì)模式技術(shù)文檔,里面還有更豐富的知識(shí)等著大家去學(xué)習(xí),相信對(duì)大家一定會(huì)有所幫助的。
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743