反射的基础(二):构造器类的使用

上一章节 http://lgywindows.iteye.com/blog/1797232
反射的本质:将类的各种属性(类的变量,类的方法,类所在的包名,类的构造器等)映射成相应的java类。用"一群类"去描述和操纵一个类。
类的反射之构造器类
一 通过构造器类(Constructor)获得指定类的构造器:
1 java.lang.reflect.Constructor[] cons = String.class.getConstructors();此句将返回所有的构造器方法
2 java.lang.reflect.Constructor con = String.class.getConstructor(new StringBuffer().getClass());此句将返回指定的构造器方法
二 当使用构造器类(Constructor)获得指定类的构造方法后就可以进行实例化操作,语法:
1 Class cls = Class.forName("java.lang.String");cls.newInstance();这实际上是一种捷径式写法
2 java.lang.reflect.Constructor con = String.class.getConstructor(new StringBuffer().getClass());
  String str = (String)con.newInstance(new StringBuffer("abcdefg"));这才是正常的调用程序
意义:可以在程序运行后动态的加载java类,再动态的得到类的构造器并进行初始化。
示范代码如下:
public class MyConstructor {
	public static void main(String[] args) throws Exception{
		java.lang.reflect.Constructor con = String.class.getConstructor(new StringBuffer().getClass());
		String str = (String)con.newInstance(new StringBuffer("abcdefg"));
		System.out.println(str.charAt(2));
	}
}

下一章节 http://lgywindows.iteye.com/blog/1797326

你可能感兴趣的:(java,反射)