您的位置:首页 > 编程语言 > Java开发

[javaSE] 单例设计模式

2016-05-19 11:33 405 查看
四人帮设计了23中设计模式

单例设计模式:解决一个类在内存中只存在一个对象

构造函数私有化

在类中创建一个本类对象

提供一个方法可以获取该对象

class Single{
private static Single single;
public int num=1;
private Single(){
}
public static Single getInstance(){
if(single==null){
single=new Single();
System.out.println("对象只有一个");
}
return single;
}
}
public class SingleDemo {
/**
* @param args
*/
public static void main(String[] args) {
Single s1=Single.getInstance();
s1.num=2;
Single s2=Single.getInstance();//只输出一次 "对象只有一个"
System.out.println(s2.num);//此时输出2 说明是同一个对象

}

}


PHP版:

<?php
class Single{
private static $single;
public $num=1;
private function __construct(){

}
public static function getInstance(){
if(Single::$single==null){
Single::$single=new Single();
echo "对象只有一个";
}
return Single::$single;
}
/*覆盖PHP的魔术方法*/
private function __clone(){

}

}
class SingleDemo{
public static function main(){
$obj1=Single::getInstance();
$obj1->num=2;
$obj2=Single::getInstance();//只输出一次 "对象只有一个"
echo $obj2->num;// 此时输出2 说明是同一个对象
}
}

SingleDemo::main();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: