2 类反射机制
反射机制功能强大且复杂,程序员在将其应用到自己的应用程序前,必须充分理解并熟练掌握,因为由于反射机制造成的程序错误,编辑器无法发现,只有在程序运行过程中才能被发现并导致异常。文中只介绍反射机制的一些基本方法,要对反射机制有更多的了解,请查阅其他有关反射的书籍。
2.1 通过类名构建类实例
通常在构建一个类实例时,会调用类的构造函数,如构造一个日期类时会使用如下的代码:java.util.Date dt = new java.uitl.Date();但如果类名“java.util.Date”存储在一个字符串中,怎样来构建日期类实例呢?
String className = “java.util.Date”;
//表示日期类的字符串,其他类名也可以
Class c = Class.forName(className); //通过类名建立一个Class对象
Object obj = c.newInstance();
//构建类实例 相当于执行了new java.util.Date();
System.out.println(obj);
程序运行时会输出一个表示当前时间的字符串:Mon May 21 14:18:08 CST 2007。对以上程序所用到的代码主要有以下两个难点:Class对象和它的forName()、newInstance()方法,下面对其进行详细说明。
|