单例模式java浅克隆代码
时间: 2024-01-02 18:20:35 浏览: 89
以下是单例模式Java浅克隆代码的例子:
```java
public class Clazz implements Cloneable {
private static Clazz clazz = new Clazz();
private Clazz() {}
public static Clazz getInstance() {
return clazz;
}
@Override
protected Object clone() throws CloneNotSupportedException {
return super.clone();
}
// 测试
public static void main(String[] args) throws Exception {
Clazz clazz1 = Clazz.getInstance();
Clazz clazz2 = (Clazz) clazz1.clone();
System.out.println(clazz1 == clazz2); // true
}
}
```
需要注意的是,由于单例模式的特殊性,我们需要重写`clone()`方法并将其访问修饰符改为public,否则会抛出`CloneNotSupportedException`异常。在`clone()`方法中,我们直接调用`super.clone()`即可实现浅克隆。最后在测试中,我们可以看到`clazz1`和`clazz2`是同一个对象,因此输出结果为`true`。
阅读全文