本帖最后由 张秀威 于 2013-11-1 09:46 编辑
下面是饿汉式和懒汉式的代码,问题标注在代码中了,谢谢
/*
* 以下是单例设计模式之一:饿汉式:这个是先初始化对象的。-----student类一进内存,就已经创建好了对象。
*/
private int age;
private static student s=new student();
private student(){};
public static student getStudent()
{
return s;
}
public void setAge()
{
this.age=age;
}
public int getAge(int age)
{
return age;
}
/*
* 以下代码是单例设计模式之二,懒汉式:对象是方法被调用时,才初始化的。也叫做对象的延时加载。
* ------student类一进内存,对象还没有存在,只有调用了getStudent方法时,才建立对象的!!!!!
*/
/*private int age;
private static student s=null;
private student(){}
public static student getStudent()
{
if(s==null)
Synchronized(Student.class)//还有这里,这个锁可以放到其它地方吗,这个调用class又怎么理解呢??
{
s=new student();
return s;
}
}
public void setAge()
{
this.age=age;
}
public int getAge(int age)
{
return age;
}*/
}
public class seJiMoShi {
public static void main(String[] args) {
student s1=student.getStudent();//我想问的是s1和s2同一个对象吗
student s2=student.getStudent();//
System.out.println(s1.getAge(23));
System.out.println(s2.getAge(23));
}
}
|