package com.java.oop;
import java.util.Date;
//構建一對象工廠對象,此工廠可以基於類的字節碼對象
//構建類的實例對象.
class ObjectFactory{//對象工廠
public static Object newInstance(
Class<?> cls) throws Exception{
//基於字節碼對象創建類的實例對象
//字節碼對象是構建類的實例對象的模版對象
return cls.newInstance();
}
//<bean id="" class="pkg.ClassName">
public static Object newInstance(
String className) throws Exception{
//基於字節碼對象創建類的實例對象
//字節碼對象是構建類的實例對象的模版對象
Class<?> cls=
Class.forName(className);
return cls.newInstance();
}
}
public class TestClassObject06 {
public static void main(String[] args) throws Exception{
Date date=
(Date)ObjectFactory.newInstance(Date.class);
date=(Date)ObjectFactory.newInstance(Date.class);
System.out.println(date);
date=(Date)ObjectFactory.newInstance("java.util.Date");
}
}