复习JAVA的单子设计模式
2008-03-09 21:56
204 查看
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
public class Sangle
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif)
...{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
double db;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
private static Sangle s;//定义一个私有的对象
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
private Sangle() //构造器私有
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif)
...{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
db = Math.random();
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
private static Sangle getExample() //定义一个私有静态的方法获得唯一实例
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif)
...{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
if(s == null)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif)
...{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
s = new Sangle();
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
return s;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
public double getS() //测试是否为唯一实例
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif)
...{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
return db;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
public static void main(String[] args)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif)
...{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
Sangle s1 = Sangle.getExample();
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
Sangle s2 = Sangle.getExample();
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
System.out.println(s1.getS());
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
System.out.println(s2.getS());
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
System.out.println("由于只获得了一个实例,所以生成的随机数都是相同的!");
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
听说是JAVA面试的必考题。WINDOWS 里面的回收站就是一个经典的单子设计模式。
今天再次拿出来复习。
相关文章推荐
- Java复习之模板方法设计模式
- JAVA基础笔记(复习)-单列设计模式 - 概述与体现
- Java语言实现的单例设计模式复习
- Java设计模式之单子模式应用
- 黑马程序员--Java学习日记之总结复习(多线程和设计模式)
- 7.JAVA基础复习——JAVA中的设计模式单例模式
- Java复习——单例设计模式
- 黑马程序员_java基础复习之十常用设计模式总结
- Java语言实现的装饰设计模式复习
- JAVA设计模式之观察者复习
- Java复习之策略设计模式
- <Java>设计模式大汇总,是时候来复习一波了
- Java设计模式之单子模式应用
- Java复习之装饰者设计模式
- Java复习之单例设计模式
- Java复习之静态代理设计模式
- 【黑马程序员】多线程,设计模式——Java复习笔记
- java设计模式前奏+jvm简介+数据结构字符串的复习
- java设计模式 (1) 工厂模式,抽象工厂模式,单子模式
- java23种设计模式与追MM