对于单例模式就是保证内存中仅仅创建一个该类的实例对象
针对于其对象的创建时间,分为懒汉模式和饿汉模式
懒汉模式下:使用该类的情况下在进行对象的创建,而饿汉模式下,则是直接将该类及其对象直接加载进内存
两种模式的测试,因为直接私有了构造方法,因此该对象在该类的内部直接创建,因此返回该类的对象的方法需以static修饰符进行修饰。然后便可以调用该类的其他公共方法,且保证该类的对象仅在内存中加载过一次。
代码如下:
懒汉模式:
public class LazyPattern {
private static LazyPattern pattern;
private LazyPattern(){
}
public static LazyPattern getLazyPattern() {
if (pattern==null) {
pattern = new LazyPattern();
}
return pattern;
}
public void function() {
System.out.println("懒汉的方法");
}
}
饿汉模式:
public class HPattern {
private static HPattern pattern = new HPattern();
private HPattern() {
}
public static HPattern getHPattern() {
return pattern;
}
public void function() {
System.out.println("饿汉的方法");
}
}
测试类的代码:
public class Test {
public static void main(String[] args) {
HPattern pattern = HPattern.getHPattern();
pattern.function();
LazyPattern pattern2 = LazyPattern.getLazyPattern();
pattern2.function();
}
}