本帖最后由 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
- */
复制代码
|
|