简单的单例模式

来源:互联网 发布:linux的用户组是什么 编辑:程序博客网 时间:2024/05/16 08:15
 //简单的单例模式, 创建一个类   类内部创建一个私有的构造方法  在创建一个公用的接口供外部类调用  
//单例模式有以下特点:
//  1、单例类只能有一个实例。
//  2、单例类必须自己创建自己的唯一实例。
//  3、单例类必须给所有其他对象提供这一实例
public class staticTest {
public static void main(String [] args){
SingleTon s = SingleTon.getSingleTon();            //所有对象所操作的都是SingleTon锁了创建的唯一的实例
SingleTon s1 = SingleTon.getSingleTon();
s.getMoney(400);
s1.getMoney(300);
}
}
 class SingleTon{
 private static SingleTon singleTon=null;            //私有化实例    阻止外部类创建
 private int money=500;
 private SingleTon(){                                //私有的构造方法
 System.out.println("构造方法完成");
 }
 public static SingleTon getSingleTon(){            //为外部类提供唯一的实例,并判断此实例是否存在
 if(singleTon!=null){
 return singleTon;
 }else{
 singleTon = new SingleTon();
 return singleTon;
 }
 }
 
 public void getMoney(int num){
 if(num>money){
 System.out.println("余额不足");
 }else{
 money-=num;
 System.out.println("取钱成功,取了:"+num+"剩余:"+money);
 }
 }
 }
运行结果为:




学习多线程后,解决银行同时取钱问题 。   如有问题请多多指教。
原创粉丝点击