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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 nanfp 于 2015-7-7 22:04 编辑

错误提示

  1. Exception in thread "main" java.lang.IllegalArgumentException: object is not an instance of declaring class
  2.         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  3.         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
  4.         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  5.         at java.lang.reflect.Method.invoke(Method.java:606)
  6.         at classmate.TestFanShe.main(TestFanShe.java:26)
复制代码


源代码
  1. mport java.lang.reflect.Field;
  2. import java.lang.reflect.Method;
  3. public class TestFanShe {
  4.         public static void main(String[] args) throws Exception {
  5.                 Class clazz = shuxing.class;
  6.                 Object ss =  clazz.newInstance();
  7.                 Method[] methods = clazz.getMethods();
  8.                 for (int g = 0; g < methods.length; g++) {
  9.                         Class type = methods[g].getReturnType();
  10.                         if (type == void.class) {
  11.                                 Class[] types = methods[g].getParameterTypes();
  12.                                 for (Class c : types) {
  13.                                         if (String.class == c) {
  14.                                                 System.out.println(methods[g].getName());
  15.                                                 methods[g].invoke("ss", "aaaaaaaa");
  16.                                         }
  17.                                 }
  18.                         }
  19.                 }        
  20.         }

  21. }

  22. class shuxing {  
  23.         private String s;
  24.         public String getS() {
  25.                 return s;
  26.         }
  27.         public void setS(String s) {
  28.                 this.s = s;
  29.         }
  30. }
复制代码

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马