- Method charAt = String.class.getMethod("charAt",int.class);
- System.out.println(charAt.invoke(str1,1)); //这里str1就是一个普通的String实例
- //我理解的获取方法的方式就是getMethod(方法名,参数)
- //下面的是main方法的反射
- String startingClassName = args[0];
- Method mainMethod = Class.forName(startingClassName).getMethod("main",String[].class);
- mainMethod.invoke(null,(Object)new String[]{"111","222","333"});
- //main方法按说就是一个特殊的静态方法而已,由上面的获取普通方法套路来看,不是应该是这样的
- // Method mainMethod = Class.forName(包含main方法的类名).getMethod("main",String[].class);
- //为什么是传入一个String的实例名
复制代码 到底是哪里理解错了呢?有没有大神用自己通俗的话跟我说下反射的意义在哪?总觉得很麻烦不知道方便在了哪里~
|
|