白桦的天空

第一次的心动,永远的心痛!
  首页  :: 新随笔  :: 联系 :: 管理

转载-一些动态加载类的文章

Posted on 2008-05-30 15:21  白桦的天空  阅读(225)  评论(0编辑  收藏  举报
import   java.lang.reflect.*;  
  class   A{  
  public   A(){  
  System.out.println("Test()");  
  }  
    public   void   f(){  
          System.out.println("f()");  
      }  
  }  
  public   class   TestA   {  
   
          public   static   void   main(String[]   args)   {  
                try{  
                Class   c   =Class.forName(args[0]);//使用String数组!  
                Constructor   a=   c.getConstructor();  
                  String   name   =   "f";  
                  Object   paramsObj[]   =   {};  
                  Method[]   s   =   c.getDeclaredMethods();  
                  for(int   i=0;i<s.length;i++){  
                    if(args[1].equals(s[i].getName()))  
                   
                  s[i].invoke(a.newInstance(),   paramsObj);            
                  }  
   
              }catch(Exception   e){  
              System.out.println("No   Class:   "+e);  
          }  
      }  
  } 

  ^_^,终于搞出来了!   呵呵   ,到时运行   java   A   f   就可以了!

^_^   用这个吧   :  
   
   
  import   java.lang.reflect.*;  
  class   A{  
  public   A(){  
  System.out.println("Test()");  
  }  
    public   void   f(){  
          System.out.println("f()");  
      }  
  }  
  public   class   TestA   {  
   
          public   static   void   main(String[]   args)   {  
                try{  
                Class   c   =Class.forName(args[0]);//使用String数组!  
                Constructor   a=   c.getConstructor();  
                  Object   paramsObj[]   =   {};  
                  Method[]   s   =   c.getDeclaredMethods();  
                  for(int   i=0;i<s.length;i++){  
                    if(args[1].equals(s[i].getName())){  
                   
                            s[i].invoke(a.newInstance(),   paramsObj);  
                        }            
                  }  
   
              }catch(Exception   e){  
              System.out.println("No   Class:   "+e);  
          }  
      }  
  }