class Student
{
private String name;
private int age;
private static Student s = new Student();
// 因为getInstance方法用static修饰了,并且里面访问
//了S ,所以S 变量也要用Static 修饰才可以。
private Student(){}
public static Student getInstance()
{
//因为内存中不能建立对象,所以只有用类名.方法
//这时想要调用getInstance时该方法要用static
return s;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}class Single
{
private static Single s = null;
private Single (){}
public static Single getInstance()
{
if
if(s == null) //这里存在安全问题 要用双重if,
s = new Single();
else
return s;
}
} 作者: 胡遇潮 时间: 2011-12-12 16:25
单例模式
一个程序在运行的时候,第二个程序过来了,
但必须等第一个程序运行完,才能运行第二个程序,
静态代码块:实例化对象的时候,静态代码也跟着运行,一般是赋值
静态代码块内容先执行,接着执行父类非静态代码块和构造方法,然后执行子类非静态代码块和构造方法。
/**
* 懒汉式单例 一般推荐使用
*/
public class Singleton
{
//定义一个私有的静态全局变量来保存该类的唯一实例
private static Singleton singleton = new Singleton();