首页 > 代码库 > 反射类的方法
反射类的方法
1 import java.io.FileInputStream; 2 import java.io.InputStream; 3 import java.lang.reflect.Constructor; 4 import java.lang.reflect.InvocationTargetException; 5 import java.lang.reflect.Method; 6 import java.util.ArrayList; 7 import java.util.List; 8 9 import org.junit.Test;10 11 public class Demo {12 13 /**14 * 反射类的方法15 * @throws Exception 16 *17 */18 19 //public void method(){20 @Test21 public void test1() throws Exception{22 23 Person p = new Person();24 25 Class clazz = Class.forName("Person");26 27 Method method = clazz.getMethod("method", null);28 29 method.invoke(p, null);30 31 }32 33 //public void method(String name,int password){34 @Test35 public void test2() throws Exception{36 37 Person p = new Person();38 39 Class clazz = Class.forName("Person");40 41 Method method = clazz.getMethod("method", String.class,int.class);42 43 method.invoke(p, "zero",28);44 45 }46 47 //public Class[] method(String name,int[] password){48 @Test49 public void test3() throws Exception{50 51 Person p = new Person();52 53 Class clazz = Class.forName("Person");54 55 Method method = clazz.getMethod("method", String.class,int[].class);56 57 Class[] cs = (Class[]) method.invoke(p, "one",new int[]{1,2,3});58 59 System.out.println(cs[0]);60 }61 62 //public void method(InputStream in){63 @Test64 public void test4() throws Exception{65 66 Person p = new Person();67 68 Class clazz = Class.forName("Person");69 70 Method method = clazz.getDeclaredMethod("method", InputStream.class);71 72 method.setAccessible(true);73 74 method.invoke(p, new FileInputStream("c:\\1.txt"));75 }76 77 //public static void method(int num){78 @Test79 public void test5() throws Exception{80 81 Class clazz = Class.forName("Person");82 83 Method method = clazz.getMethod("method", int.class);84 85 method.invoke(null,29);86 }87 88 //调用main方法89 @Test90 public void test6() throws Exception{91 92 Class clazz = Class.forName("Person");93 94 Method method = clazz.getMethod("main", String[].class);95 96 method.invoke(null,(Object)new String[]{"aa","bb"});97 }98 }
1 import java.io.InputStream; 2 import java.util.List; 3 4 5 public class Person { 6 7 public String name="hellowrold"; 8 private int password; 9 private static int age;10 11 public Person(){12 System.out.println("person");13 }14 15 public Person(String name){16 System.out.println("person :"+name);17 }18 19 public Person(String name,int password){20 System.out.println("person:"+name+password);21 }22 23 private Person(List list){24 System.out.println("list");25 }26 27 public void method(){28 System.out.println("eai1");29 }30 31 public void method(String name,int password){32 System.out.println("method"+name+password);33 }34 35 public Class[] method(String name,int[] password){36 return new Class[]{String.class};37 }38 39 public void method(InputStream in){40 System.out.println(in);41 }42 43 public static void method(int num){44 System.out.println(num);45 }46 47 public static void main(String[] args){48 System.out.println("main");49 }50 51 }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。