黑马程序员技术交流社区

标题: 反射小问题 [打印本页]

作者: 郭繁森    时间: 2012-2-12 12:43
标题: 反射小问题
本帖最后由 郭繁森 于 2012-2-12 20:28 编辑

import java.lang.reflect.*;
public class DumpMethods
{
    public static void main(String args[])
        {
        try
        {
            Class c = Class.forName(args[0]);                           //问题:args[0]是什么意思,为0也能接受String(java.util.Stack)?
            Method m[] = c.getDeclaredMethods();
            for (int i = 0; i < m.length; i++)
                System.out.println(m.toString());
        }
        catch (Throwable e)
        {
            System.err.println(e);
        }
    }
}
按如下语句执行:
        java DumpMethods java.util.Stack
作者: 黑马唐浩    时间: 2012-2-12 12:52
本帖最后由 黑马唐浩 于 2012-2-12 12:53 编辑

我给你举个例子吧。
比如下面这个小程序
public class Test
{
        public static void main(String[] args)
        {

        System.out.println(args[0]);
        System.out.println(args[1]);

        }
}
在dos命令行下
javac Test.java
java Test aaa bbb
就输出
aaa
bbb
假如执行的是
java Test ccc ddd
就输出
ccc
ddd
希望能帮到你,传递参数时,如果有多个参数用空格分开
作者: 易伟    时间: 2012-2-12 14:09
问题:args表示程序的初始化参数,args[0]表示小标为0的参数,也就是第一个参数。
Class c = Class.forName(string);    forName函数接收的参数是一个String类型的全类名,                       
作者: 梅雄新    时间: 2012-2-12 14:55
楼主 String[] args 是用来接收执行时你输入的参数 例如 java Person 0 1 2 a b c 回车
这时相当于给args赋值 String[] args = {"0","1","2","a","b","c"}
获取到你输入的全是字符串类型
args[0]是指数组的第一个元素  数组的下标是从0开始
楼主应该明白了吧




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2