1.new:
2.clone:
可以使用在Prototype模式中的clone方法来根据现有的实例复制出一个新的实例对象。(不会调用构造函数)
@Overridepublic Product createClone() {Product p = null;try {p = (Product) clone();} catch (CloneNotSupportedException e) {e.printStackTrace();}return p;}
3.newInstance:
使用java.lang.Class类中的newInstance方法可以通过Class类的实例生成出Class类所表示的类的实例(会调用无参构造函数)
public static Factory getFactory(String className){Factory factory = null;try {factory = (Factory)Class.forName(className).newInstance();} catch (InstantiationException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();} catch (ClassNotFoundException e) {e.printStackTrace();}return factory;}
someObject.getClass().newInstance();
