1.
- 何为反射:反射就是把java中的各个成分映射成相应的java类。
- Method代表方法的类型,而各个方法则是它的一个实例。
- 2.关于Constructor,通过类的字节码的getConstructor(param)方法,来得到构造方法的对象,那么构造方法那么多,我们到底要哪个呢?这就需要param这个参数来决定了。比如我需要得到String类的String(StringBuffer buffer) 这个 构造方法,那么需传入StringBuffer.class 。
- 我们要new 一个String 类的对象,并且调用含义StringBuffer的构造器。用反射机制怎么样实现呢?这里说得有点绕,比如说我不用反射的情况下做这样一件事 new String(new StringBuffer("sb"));现在我要使用反射机制做一件相同的事情,该怎么实现?
②
用这个构造方法去获得实例对象 ,下面newStringBuffer() 表示使用这个StringBuffer是传一个参数进去Class.forName("java.lang.String").getConstructor(Class.forName("java.lang.StringBuffer")).newInstance(new StringBuffer("sb"));
③ ②中返回是个Object类型,所以需要进行强制转换
(String)Class.forName("java.lang.String").getConstructor(Class.forName("java.lang.StringBuffer")).newInstance(newStringBuffer("sb"));
感觉第一次写这样技术博客思维不是特别的有条理,而且可能会有很多不是很合理的地方,希望大家多损几句。