更多文章请进入:我的开源网
单例模式:是通过将类的无参构造方法设置成私有的,然后不提供任何有参的构造方法,对像由类的内部实例化,通过一个静态的方法提供给外部调用端使用,外部使用时只要通过类.静态方法就可以获得对象了。
实现方法一:
package com.cjh.demo;
/**
* 单例模式 方式一
* @author cjh
*
*/
public class Singleton {
/**
* 对象由自己内部new出来
*/
private static Singleton singleton = new Singleton();
/**
* 使用private的无参构造方法,这样就不能在外部new出对象了
*/
private Singleton(){
}
/**
* 通过一个静态的方法提供对象的实例,因为静态方法是可以通过类.方法调用的
* @return
*/
public static Singleton getInstance(){
return singleton;
}
/**
* 对象的方法,需要通过对象.方法调用
*/
public void aboutUS(){
System.out.println("我是一个单例模式的方法!");
}
}
实现方式二:
package com.cjh.demo2;
/**
* 单例模式 方式二
* @author cjh
*
*/
public class Singleton2 {
/**
* 对象引用
*/
private static Singleton2 singleton=null;
/**
* 使用private的无参构造方法,这样就不能在外部new出对象了
*/
private Singleton2(){
}
/**
* 通过一个静态的方法提供对象的实例,因为静态方法是可以通过类.方法调用的
* @return
*/
public static Singleton2 getInstance(){
if(null==singleton){
singleton= new Singleton2();
}
return singleton;
}
/**
* 对象的方法,需要通过对象.方法调用
*/
public void aboutUS(){
System.out.println("我是一个单例模式的方法!");
}
}