在java中,原型实现Cloneable接口实现clone接口方法。
在使用过程应该注意的一点是,Object的clone方法是不复制对象的,只会复制对象的引用,也就是说仅仅复制了对象的内存地址。所以人们常说的浅拷贝和深拷贝说的就是是否要复制对象值的操作。
代码如下:
package com.array7.prototype;
public class Run {
public static void main(String[] args) {
Prototype prototype = new Prototype();
Prototype cp = prototype.clone();
cp.run();
}
}
class Prototype implements Cloneable {
@Override
protected Prototype clone(){
Prototype prototype = null;
try {
prototype = (Prototype) super.clone();
} catch (Exception e) {
e.printStackTrace();
}
return prototype;
}
public void run() {
System.out.println("Run...");
}
}