所以假设我有这样的原型:
private static Hashtable<String, Furniture> map =
new Hashtable<String, Furniture>();
public My_product() {
loadCache();
}
public My_Product createProduct(String type, String name) {
Furniture cachedproduct = map.get(type);
return (Furniture) cachedproduct.clone();
}
private static void loadCache() {
Sub_product1 pr1 = new Sub_product1(null);
map.put("pr1", pr1);
Sub_product2 pr2 = new Sub_product2(null);
map.put("pr2", pr2);
}
所以当我创建一个对象的实例时,我不知道克隆它后会输入什么值(使用克隆创建对象)。所以我为对象实例选择了空值。但是当我克隆它时,我知道需要为该对象分配什么值。那么我如何在克隆时指定一些值而不是null
来自对象实例的值呢?
正如您在方法createProduct
方法中看到的那样,有一个名为 的参数name
。我希望在克隆对象中使用该名称,但我该怎么做呢?