Java day05 单例设计模式
2016-03-17 11:28
519 查看
/*设计模式: java有23种 单例 设计模式:确保一个类在内存中只有一个对象 禁止类外建立该类对象 在本类中定义一个对象, 对外提供方法接口,以实现其他程序对自定义对象(本类内定义对象)的访问 ==》 将构造函数私有化 在类内创建本类对象 在类内提供方法获取该对象 */ class Single { //饿汉式:类一进内存就建立对象 通常采用此方式 private Single(){}//构造函数私有,外部不可访问,限制此类只能new一个对象 private int num; public void setNum(int num) { this.num=num; } public int getNum() { return num; } static Single s=new Single();//因为下面的方法的静态,此属性也要静态 static public Single getInstance()//若要 类名.方法 则需要使该方法静态 { return s; } //懒汉式:延迟加载——当调用getInstance()方法时,才建立对象 /* public static Single s=null; private Single(){} public static synchronized Single getInstance() { if(s==null) { synchronized (Single.class) { s=new Single(); } } return s; } */ } class SingleDemo { public static void main(String[] args) { Single s1=Single.getInstance();//s1和类中的s指向同一片内存区域 s1.setNum(20);//s1,s2和类中的s指向同一片内存区域 Single s2=Single.getInstance(); System.out.println(s2.getNum());//此句可证明 } }
懒汉式与饿汉式的区别在,类变量开始声明时便指向一个对象还是调用对外方法时才建立对象
运行结果20 , 很好的贯彻了单例设计模式只允许建立一个对象的方针
相关文章推荐
- Java读书笔记二(封装类)
- 使用springmvc利用baseController自动收集请求参数
- Java log4j日志使用
- 解决eclipse Invalid Configuration Location .......configuration' is not writable
- Java day05 抽象类
- myeclipse连接方法
- 事件驱动的Java框架
- Java基础语法
- Java day05 继承 extends
- 配置Java的环境变量
- Java——SAX解析XML文件
- SpringMvc微信JS-API获取地理位置
- [Java]不重复随机数生成简易算法
- Eclipse与MyEclipse的选择问题
- spring jms + activemq + maven搭建
- eclipse 新建 Dynamic Web Project时jsp文件404错误的解决办法
- Java中使用正则表达式
- Spring3.x JSR-303
- spring3
- Java day05 final 关键字