A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 郭繁森 黑马帝   /  2012-2-12 12:43  /  1787 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 郭繁森 于 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

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

3 个回复

倒序浏览
本帖最后由 黑马唐浩 于 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
希望能帮到你,传递参数时,如果有多个参数用空格分开

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
问题:args表示程序的初始化参数,args[0]表示小标为0的参数,也就是第一个参数。
Class c = Class.forName(string);    forName函数接收的参数是一个String类型的全类名,                       

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
楼主 String[] args 是用来接收执行时你输入的参数 例如 java Person 0 1 2 a b c 回车
这时相当于给args赋值 String[] args = {"0","1","2","a","b","c"}
获取到你输入的全是字符串类型
args[0]是指数组的第一个元素  数组的下标是从0开始
楼主应该明白了吧

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马