javaSE-面向对象-单例设计模式
2014-02-25 17:20
411 查看
/*
设计模式:就是解决问题行之有效的方法。是一种思想。
单例设计模式:解决的问题就是保证一个类在内存中只有一个对象。
如何保证一个类在内存中的对象唯一性呢?
1,不让其他程序创建该类对象。
2,在本类中自己创建一个本类对象。
3,对外还提供一个获取该对象的方法。
*/
//饿汉式
class Single
{
//2,自定义一个本类对象。
private static Single s = new Single();
//1,私有化构造函数。
private Single(){}
//3,定义一个方法返回该对象。让其他程序通过这个方法就可以获取该对象。
public static Single getInstance()
{
System.out.println("s="+s);
return s;
}
}
//懒汉式: 延迟加载模式。
class Single2
{
private static Single2 s = null;
private Single2(){}
public static Single2 getInstance()
{
if(s==null)
s = new Single2();
return s;
}
}
/*
class Test
{
}
*/
class SingleDemo
{
public static void main(String[] args)
{
// Test t = new Test();
// System.out.println(t);
Single s1 = Single.getInstance();
System.out.println("s1="+s1);
// Single s1 = Single.s;
// System.out.println("s1===="+s1);
SuperMan man1 = SuperMan.getInstance();
SuperMan man2 = SuperMan.getInstance();
man1.setNum(10);
System.out.println(man1.getNum());
System.out.println(man2.getNum());
SuperMan man = new SuperMan();
}
}
//描述超人,就一个,需要保证该类对象的唯一性。三步!
class SuperMan
{
private String name;
private int num;
private static SuperMan p = new SuperMan("克拉克");
public static SuperMan getInstance()
{
return p;
}
public String getName()
{
return name;
}
public void setNum(int num)
{
this.num = num;
}
public int getNum()
{
return num;
}
}
相关文章推荐
- JavaSE---多线程、面向对象设计思想、设计模式
- 黑马程序员-JAVASE入门( 面向对象、单例设计模式、this、static关键字)
- [.net 面向对象程序设计深入](26)实战设计模式——策略模式 Strategy (行为型)
- 面向对象设计模式与原则
- JavaScript面向对象设计二 构造函数模式
- 面向对象设计模式原则(转载)
- 李建忠C#面向对象设计模式纵横谈 —— 单件模式
- 面向对象设计模式与原则
- 面向对象设计与模式与原则--面向对象设计模式纵横谈讲座笔记之一
- 面向对象设计和过程式编程(6.2)《深入PHP:面向对象、模式与实践》
- [导入]C#面向对象设计模式纵横谈(10):Decorator 装饰模式(结构型模式).zip(9.84 MB)
- 设计模式零(面向对象基础)
- 20180320 java java面向对象-单例设计模式
- 面向对象设计原则与设计模式
- 面向对象设计模式之Flyweight享元模式(结构型)
- 面向对象篇(OOP)--07 面向对象思想设计原则及常见设计模式
- 面向对象程序设计进阶——设计模式 design patterns
- 面向对象设计模式与原则
- 【我的Java笔记】Java面向对象思想设计原则及常见设计模式
- laravel框架中所蕴含的两个重要的面向对象设计模式