| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 596 人关注过本帖
标题:怎么发生错误了 这里Class c1=Class.forName(name);
只看楼主 加入收藏
gxl741852
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2010-6-29
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
怎么发生错误了 这里Class c1=Class.forName(name);
import java.util.*;
import java.lang.reflect.*;
public class ReflectionTest {
   
    public static void  printConstructors(Class c1)
    {
        Constructor[] construtors=c1.getDeclaredConstructors();
        
        for(Constructor c:construtors)
        {
            String name=c.getName();
            System.out.print("  "+Modifier.toString(c.getModifiers()));
            System.out.print(" "+name+" (");
            
            Class[] paramTypes =c.getParameterTypes();
            for(int j=0;j<paramTypes.length;j++)
            {
                if(j>0) System.out.print("'");
                System.out.print(paramTypes[j].getName());
            }
            System.out.println(");");
    }
    }
     
    public static void printMethods(Class c1)
    {
        Method[] methods=c1.getDeclaredMethods();
   
            
            for(Method m:methods)
            {
                Class retType =m.getReturnType();
                String name=m.getName();
               
                System.out.print("  "+Modifier.toString(m.getModifiers()));
                System.out.print(" "+retType.getName()+"  "+name+"(");
            
            Class [] paramTypes=m.getExceptionTypes();
            for(int j=0;j<paramTypes.length;j++)
            {
                if(j>0) System.out.print(", ");
                System.out.print(paramTypes[j].getName());
            }
            System.out.println(")");
        }
    }
   
   
    public static void printFieldes(Class c1)
    {
        Field[] fields=c1.getDeclaredFields();
        
        for(Field f:fields)
        {
            Class type =f.getType();
            String name=f.getName();
            System.out.print("  "+Modifier.toString(f.getModifiers()));
            System.out.println(" "+type.getName()+" "+name+";");
        }
    }
    public static void main(String[] args){
    String name;
    if(args.length>0)
        name=args[0];
    else
    {
        Scanner in =new Scanner(System.in);
        System.out.println("Enter class name (E.g. java.util.Date):");
        name=in.next();
    }
    try
    {
        Class  c1=Class.forName(name);
        Class  superc1=c1.getSuperclass();
        System.out.print("class"+ name);
        if(superc1 != null && superc1 != Object.class)
           System.out.print("extends"+superc1.getName());
         System.out.print("\n{\n");
         printConstructors(c1);
         System.out.println();
         printMethods(c1);
         System.out.println();
         printFieldes(c1);
         System.out.println("]");
    }catch(ClassNotFoundException e){e.printStackTrace();}
    System.exit(0);
   

    }
}




at ReflectionTest.main(ReflectionTest.java:73)说是 这个错误
搜索更多相关主题的帖子: Class name forName 
2010-11-06 08:48
sambean
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-11-11
收藏
得分:0 
错误信息是什么?
2010-11-11 19:31
aufish
Rank: 2
等 级:论坛游民
威 望:1
帖 子:59
专家分:94
注 册:2010-4-22
收藏
得分:0 
应该没有错的,要不就是arg[0]设置有误,else就是输入文件不存在!
2010-11-13 01:29
lampeter123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:54
帖 子:2508
专家分:6424
注 册:2009-1-30
收藏
得分:20 
程序正常, 没有错误

你的优秀和我的人生无关!!!!
    
    我要过的,是属于我自己的生活~~~
2010-11-13 08:52
zybjava
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-11-13 23:07
快速回复:怎么发生错误了 这里Class c1=Class.forName(name);
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031765 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved