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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 考拉是只猫 中级黑马   /  2014-12-1 10:20  /  995 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. public class Test{
  2.    
  3.     public static void main(String[] args) throws Exception {
  4.         Person p = new Person();
  5.         Class cls = p.getClass();//获取Person的字节码
  6.         //获取setName()方法,需要传入参数为String
  7.         Method method1 = cls.getMethod("setName", String.class);
  8.         method1.invoke(p, "小明");//关联p,输入“小明”并执行该方法
  9.         //获取getName()方法,无参则设为null
  10.         Method method2 = cls.getMethod("getName", null);
  11.         String name = (String) method2.invoke(p, null);//invoke返回的类型为Object
  12.         System.out.println(name);
  13.         //获取静态方法,由于静态方法只依赖与类,所以不需要提供具体的实例
  14.         Method method3 = cls.getMethod("show", int.class);
  15. //        method3.invoke(p, 1);提供具体实例p也可通过编译
  16.         method3.invoke(null, 1);
  17.         
  18.     }
  19. }

  20. class Person{   
  21.     public String name;
  22.     public String getName(){
  23.         return name;
  24.     }
  25.     public void setName(String name){
  26.         this.name = name;
  27.         System.out.println("设置name值为:" + name);
  28.     }
  29.     public static void show(int i){
  30.         System.out.println("这是一个静态方法:" + i);
  31.     }
  32. }
复制代码


0 个回复

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