黑马程序员——反射调用方法

来源:互联网 发布:淘宝云建站不能用了吗 编辑:程序博客网 时间:2024/06/16 12:54
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
package mypackage;import java.lang.reflect.*;/* *  编写一个类,增加一个实例方法用于打印一条字符串。并使用反射手段创建该类的对象, 并调用该对象中的方法。 */public class reflect {public static void main(String[] args) throws Exception {Class<?> testClass = Class.forName("mypackage.Test");// 通过字节码的newInstance()直接获得Test ts = (Test) testClass.newInstance();// 通常是用Object对象和字节码调用Object ob = testClass.newInstance();// 通过Method对象调用object对象来执行自己Method methodShow = testClass.getMethod("show");// invoke对带有指定参数的指定对象调用由此 Method 对象表示的底层方法methodShow.invoke(ts);methodShow.invoke(ob);/* * 输出:哥就是反射0号  *  就是反射1号 * 分析:显然调用的类就是methodShow, */}}class Test {static int i;Test() {this.i = 0;}public void show() {System.out.println("哥就是反射" + i + "号");i++;}}

0 0