饿汉单例模式代码Java实现
时间: 2023-03-30 08:00:50 浏览: 108
饿汉单例模式代码Java实现如下:
public class Singleton {
private static Singleton instance = new Singleton();
private Singleton() {}
public static Singleton getInstance() {
return instance;
}
}
这种实现方式在类加载时就创建了实例,因此也被称为饿汉式单例模式。
相关问题
Java实现饿汉单例模式
好的,以下是Java实现饿汉单例模式的代码:
```java
public class Singleton {
// 私有化构造函数
private Singleton() {}
// 创建唯一实例
private static Singleton instance = new Singleton();
// 获取实例的静态方法
public static Singleton getInstance() {
return instance;
}
}
```
在饿汉单例模式中,实例化对象是在类加载时完成的,因此可以保证线程安全,但可能会浪费一些内存空间。
使用单例模式实现无论我们在哪所看到的月亮是同一个月亮(饿汉单例模式、懒汉单例模式)(Java)
使用单例模式可以确保在一个应用程序中只有一个实例对象存在,无论我们在哪里看到的月亮都是同一个月亮。在Java中,可以使用饿汉单例模式或懒汉单例模式来实现。
1. 饿汉单例模式:
饿汉单例模式是指在类加载时就创建实例对象,并且提供一个公共的静态方法来获取该实例。具体实现如下:
```java
public class Moon {
private static Moon instance = new Moon();
private Moon() {
// 私有构造方法,防止外部实例化
}
public static Moon getInstance() {
return instance;
}
}
```
在上述代码中,`Moon`类的构造方法被声明为私有的,这样外部就无法直接实例化该类。通过`getInstance()`方法可以获取到唯一的实例对象。
2. 懒汉单例模式:
懒汉单例模式是指在第一次使用时才创建实例对象,并且也提供一个公共的静态方法来获取该实例。具体实现如下:
```java
public class Moon {
private static Moon instance;
private Moon() {
// 私有构造方法,防止外部实例化
}
public static synchronized Moon getInstance() {
if (instance == null) {
instance = new Moon();
}
return instance;
}
}
```
在上述代码中,`Moon`类的构造方法同样被声明为私有的,通过`getInstance()`方法来获取实例对象。在第一次调用`getInstance()`方法时,会判断实例对象是否为空,如果为空则创建一个新的实例对象,否则直接返回已有的实例对象。
阅读全文