在软件运行过程中会创建很多对象,有些对象的创建非常消耗资源,并且只需要一个,这个情况可以使用单例模式。`
package i;
public class SingletonDemo {
//当类加载时创建一个实例,由于类只加载一次,所以能保证创建唯一的对象
private static SingletonDemo instance=new SingletonDemo();
加private static与下面static 类方法相对应
private SingletonDemo() {
}//构造器为Private,外部无法调用此构造器
public static SingletonDemo getInstance() {
return instance;//insatnce 引用的是 new SingletonDemo();
}//static 类方法,如果不用static,则为实例方法,外部必须创建对象才能调用,而我们不希望外部随意创建对象
}
在另一个class文件中测试:
package i;
public class day1403 {
public static void main(String[] args) {
SingletonDemo s1= SingletonDemo.getInstance();
//SingletonDemo.getInstance()方法返回的是new SingletonDemo()
//即SingletonDemo s1=new SingletonDemo(),间接创建对象是s1
SingletonDemo s2 = SingletonDemo.getInstance();
System.out.println(s1==s2);
}
}