目录

protected Object clone()

描述 (Description)

java.lang.Enum.clone()方法保证永远不会克隆枚举,这是保持其“单例”状态所必需的。

声明 (Declaration)

以下是java.lang.Enum.clone()方法的声明

protected final Object clone() throws CloneNotSupportedException

参数 (Parameters)

NA

返回值 (Return Value)

此方法不返回任何值。

异常 (Exception)

CloneNotSupportedException - 如果对象的类不支持Cloneable接口。 覆盖clone方法的子类也可以抛出此异常以指示无法克隆实例。

例子 (Example)

以下示例显示了java.lang.Enum.clone()方法的用法。

package com.iowiki;
import java.lang.*;
// enum showing Mobile prices
enum Mobile {
   Samsung(400), Nokia(250);
   int price;
   Mobile(int p) {
      price = p;
   }
   int showPrice() {
      return price;
   } 
}
public class EnumDemo {
   public static void main(String args[]) {
      System.out.println("Enums can never be cloned...");
      EnumDemo t = new EnumDemo() {
         protected final Object clone() throws CloneNotSupportedException {
            throw new CloneNotSupportedException();
         }
      }; 
      System.out.println("CellPhone List:");
      for(Mobile m : Mobile.values()) {
         System.out.println(m + " costs " + m.showPrice() + " dollars");
      }                    
   }
}

让我们编译并运行上面的程序,这将产生以下结果 -

Enums can never be cloned...
CellPhone List:
Samsung costs 400 dollars
Nokia costs 250 dollars
↑回到顶部↑
WIKI教程 @2018