Java Enum clone()方法与示例

枚举类clone()方法

  • clone()方法在java.lang包中可用。

  • clone()方法用于确保不能克隆枚举(即无法复制枚举对象),这是保持属性的“单例”行为所必需的。

  • clone()方法是一种非静态方法,只能使用类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。

  • clone()方法是最终方法,因此在子类中不可重写。

  • clone()方法可能会在不克隆枚举时抛出异常
    CloneNotSupportedException:如果对象类未实现Cloneable接口,则可能抛出此异常,并且在这种情况下,如果子类重写clone()方法可能会抛出CloneNotSupportedException以表示该实例无法复制或关闭。

语法:

    protected Object clone();

参数:

  • 它不接受任何参数。

返回值:

该方法的返回类型为Object,它不返回任何内容。

示例

// Java program to demonstrate the example 
// of Object clone() method of Enum 

enum Weeks {
    SUN,
    MON,
    TUE,
    WED,
    THU,
    FRI,
    SAT;
}
public class Clone {
    public static void main(String args[]) throws CloneNotSupportedException {

        System.out.println("Enum can't be cloned");

        Clone cl = new Clone() {

            protected final Object clone() throws CloneNotSupportedException {

                return new CloneNotSupportedException();
            }
        };

        System.out.println(cl.clone());
    }
}

输出结果

Enum can't be cloned
java.lang.CloneNotSupportedException