学习Java(77)_反射实例化对象

利用 Class.forName(); 来获得一个Class对象,有了 Class 类对象,就可以利用反射来实现对象实例化操作:
实例化对象方法:
public T newInstance() throws InstantiationExcepiton,IllegalAccessException
范例:利用反射实例化对象
class Book
{
	public Book()
	{
		System.out.println( "这是一本书!" );
	}
	
	public String toString()
	{
		return "很好看!";
	}
}
class TestNewInstance
{
	public static void main( String[] args ) throws Exception
	{
		Class<?> cls = Class.forName( "Book" );
		Object obj = cls.newInstance();
		System.out.println( obj );
	}
}
/*
	在JDK1.8.0_91中运行的结果是:
	============================
	E:\textjava>java TestNewInstance
	这是一本书!
	很好看!
	============================
	总结:
		使用反射,进行对象实例化操作,不再只是单独依靠new完成,
		反射也可以完成。但并不表示new就被完全取代了。
*/
为什么要用反射来实例化对象,因为在一些特定的情况下必须使用反射才能令程序更完美,下一篇将写一个工厂模式的范例,看观察一下反射在工厂模式中的作用。


小艾的博客 http://www.aixinyan.me/