class Ins implements java.lang.Cloneable {
public Ins() { System.out.println("Construct called");}
@Override public Ins clone() throws CloneNotSupportedException { return (Ins) super.clone(); }}
public class ConstructTest {
@Test public void test() throws InstantiationException, IllegalAccessException, CloneNotSupportedException { System.out.println("\n---new Ins() begin---"); Ins ins1 = new Ins(); System.out.println("---new Ins() end---"); System.out.println("\n---Ins.class.newInstance() begin---"); Ins ins2 = Ins.class.newInstance(); System.out.println("---Ins.class.newInstance() end---"); System.out.println("\n---ins1.clone() begin---"); Ins ins3 = ins1.clone(); System.out.println("---ins1.clone() end---"); }
}
输出:
---new Ins() begin--- Construct called ---new Ins() end--- ---Ins.class.newInstance() begin--- Construct called ---Ins.class.newInstance() end--- ---ins1.clone() begin--- ---ins1.clone() end---