本帖最后由 红茶2331 于 2013-12-7 10:38 编辑
- package cn.itcast.day1;
- import java.lang.reflect.Field;
- import java.lang.reflect.Method;
- public class ReflectTest {
-
- public static void main(String[] args)throws Exception{
-
- //对接收数组参数的成员方法进行反射
-
- String startClassName = args[0];//疑问三
-
- Method mainMethod = Class.forName(startClassName).getMethod("main", String[].class);//疑问2
-
- mainMethod.invoke(null, new Object[]{new String[]{"111","222","333"}});
- }
- }
- class TestArguments{
- public static void main(String[] args){
- for(String arg:args){
- System.out.println(arg);
- }
- }
- }
复制代码 看了张孝祥老师关于反射的这个视频,(基础加强的23个视频)产生了及格疑问。希望大神们帮忙解决一下
1:在这个java文件里面有两个类。也有两个main方法,一个java文件里面可以允许两个main方法吗?
2:上面标注的地方,此处获取的是main方法的字节码文件。他会获取哪一个main呢?按照视频的意思是下面那个类的main方法,那为什么呢?
3 : 上面标注的地方,此处的args[]是ReflectTest 类中main方法传入的参数应该是什么呢?是字符串吗?这个视频里的args[0]到底是什么?
这个视频看的我云里雾里的,感觉很难,一时理解不透,请大神们给解释一下。
|