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---