使用单例模式定一个Moon类,保证类外只能获取一个Moon类中对象
时间: 2024-10-28 10:10:25 浏览: 16
在Java中,我们可以使用单例模式(Singleton Pattern)来确保一个类只有一个实例,并提供全局访问点。以下是创建一个名为`Moon`的类作为单例例子:
```java
public class Moon {
// 私有化构造函数,防止外部直接实例化
private Moon() {}
// 创建私有的静态实例引用
private static volatile Moon instance;
// 获取唯一实例的方法
public static Moon getInstance() {
if (instance == null) {
synchronized (Moon.class) { // 确保线程安全地初始化
if (instance == null) {
instance = new Moon();
}
}
}
return instance;
}
// 公共方法,展示单例的功能
public void orbitEarth() {
System.out.println("Moon is orbiting around the Earth.");
}
}
```
在这个`Moon`类中,通过私有化构造函数和一个静态的`getInstance`方法,我们实现了单例。内部同步块确保了多线程环境下的安全性。现在你可以通过`Moon.getInstance()`来获取`Moon`类的唯一实例,并调用其公共方法。
阅读全文