是否可以克隆单个音调类的对象?

时间:2013-10-10 10:08:08

标签: java design-patterns singleton

是否可以克隆单个音色类的对象? 请参阅以下示例

public class Car implements Cloneable{
private static Car car=null;
private void  car()    {}
public static Car GetInstance() {
if(car==null) {
car=new Car();}
return car;}
public static void main(String arg[]) throws CloneNotSupportedException{
car=Car.GetInstance();
Car car1=(Car) car.clone();
System.out.println(car.hashCode());//printing the hash code
System.out.println(car1.hashCode());}
public Car clone(){
return car;}
}

2 个答案:

答案 0 :(得分:0)

当然可以,但不要这样做。 实际上,如果您需要拆除Singleton对象的目的,那就表示需要对类进行重构以及如何访问它。

答案 1 :(得分:-1)

您可以通过这种方式克隆您的课程,以获得所需的行为。

public Car clone() {
    Car c = null;
    try {
        c = (Car) super.clone();
        return c;
    } catch (CloneNotSupportedException e) {
        e.printStackTrace();
        throw new RuntimeException();
    }
}