Java Create Instance Method

Java Create Instance Method

 

1.Normal
Student stu1 = new Student(1, "NameNornal", 1);


2. Reflection

Student stu1 = Class.forName("com.test.vo.Student").newInstance();

 

See details in code

/**
 * This test class is used for Creating Object Instance.
 * 
 * https://github.com/jnh1983/CoreJava/blob/master/src/com/test/classes/CreateInstanceTest.java
 * 
 * @author Joey
 */
public class CreateInstanceTest {

	public static void main(String[] args) throws Exception{
		// 1. Normal
		Student stu1 = new Student(1, "NameNornal", 1);
		print(stu1);
		
		// 2. Reflection
		Student stu2 = (Student) Class.forName("com.test.vo.Student")
				.getConstructor(Integer.TYPE, String.class, Integer.TYPE)
				.newInstance(2, "NameReflection", 1);
		print(stu2);
		
		// 3. Factory Pattern
		Student stu3 = (Student) PersonFactory.getPerson(PersonFactory.TYPE_STUDENT, null);
		print(stu3);
		
		// 4. Object Clone Method
		Student stu4 = stu1.clone();
		print(stu4);
	}

	public static void print(Student p_stu){
		System.out.println(p_stu);
	}
}

 

output:

Student [id=1, name=NameNornal, classId=1]
Student [id=2, name=NameReflection, classId=1]
Student [id=-1, name=nameFactory, classId=-1]
Student [id=0, name=Clone-NameNornal, classId=1]

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值