黑马程序员技术交流社区
标题:
基础测试题-延迟加载的单例设计模式
[打印本页]
作者:
JJJD
时间:
2015-6-20 16:16
标题:
基础测试题-延迟加载的单例设计模式
本帖最后由 JJJD 于 2015-6-20 17:22 编辑
我的基础测试题,和大家分享。。。
package com.itheima;
/**
* 第五题: 编写一个延迟加载的单例设计模式
*
* @author JuJiaojie
*
*/
class Student
{
//将构造函数私有化
private Student(){}
//在内部创建一个私有并静态的本类对象
private static Student s=null;
//提供公共访问方法
public static Student getStudent()
{
//对对象的引用进行双重判断
if(s==null)
{
//同步代码块解决多线程的安全问题。
synchronized(Student.class)
{
if(s==null)
s=new Student();
}
}
return s;
}
private int age;
public void setAge(int age)
{
this.age=age;
}
public int getAge()
{
return age;
}
}
public class Test5
{
//主函数
public static void main(String[] args)
{
//调用方法建立对象
Student stu1=Student.getStudent();
Student stu2=Student.getStudent();
//设置年龄
stu1.setAge(22);
//输出语句
System.out.println("stu1:"+stu1.getAge());
System.out.println("stu2:"+stu2.getAge());
}
}
/*
*打印结果为:
*stu1:22
*stu2:22
*/
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2