}
// 反射类的方法public Class[] aal(String name,int[] password) 第三个
@Test
public void test3() throws Exception
{
Person p = new Person();
Class clazz = Class.forName("cn.com.day1.Person");
Method method = clazz.getMethod("aa1", String.class, int[].class);
Class cs[] = (Class[]) method.invoke(p, "aaa", new int[] { 1, 23 });
System.out.println(cs[0]);
}
// 反射类的方法public void aal(InputStream in) 第四个
@Test
public void test4() throws Exception
{
Person p = new Person();
Class clazz = Class.forName("cn.com.day1.Person");
// getDeclared 显示私有的
Method method = clazz.getDeclaredMethod("aa1", InputStream.class);
method.setAccessible(true);// 暴力反射
Class cs[] = (Class[]) method.invoke(p,
new FileInputStream("d:\\a.java.txt"));
}
// 反射类的方法public static void aa1(int num)第五个
@Test
public void test5() throws Exception
{
Person p = new Person();
Class clazz = Class.forName("cn.com.day1.Person");
Method method = clazz.getMethod("aa1", int.class);
method.invoke(p, 23);
//method.invoke(null, 23);因为是静态的可以用这个
}
//反射类的方法: public static void main(String[] args)
@Test
public void test6() throws Exception
{
Class clazz = Class.forName("cn.com.day1.Person");
Method method = clazz.getMethod("main", String[].class);
//method.invoke(null,new Object[] {new String[]{"aa","bb"}});
method.invoke(null,(Object)new String[]{"aa","bb"});
}
}
import java.io.FileInputStream;
import java.io.InputStream;
import java.lang.reflect.Method;
import org.junit.Test;
public class Demo2
{
// 反射类的方法public void aal() 第一个
// invoke是调用方法.使用Junit
@Test
public void test1() throws Exception
{
Person p = new Person();
Class clazz = Class.forName("cn.com.day1.Person");
Method method = clazz.getMethod("aa1", null);
method.invoke(p, null);
}
// 反射类的方法public void aal(String name,int password) 第二个
@Test
public void test2() throws Exception
{
Person p = new Person();
Class clazz = Class.forName("cn.com.day1.Person");
Method method = clazz.getMethod("aa1", String.class, int.class);
method.invoke(p, "zhang", 38);
}
// 反射类的方法public Class[] aal(String name,int[] password) 第三个
@Test
public void test3() throws Exception
{
Person p = new Person();
Class clazz = Class.forName("cn.com.day1.Person");
Method method = clazz.getMethod("aa1", String.class, int[].class);
Class cs[] = (Class[]) method.invoke(p, "aaa", new int[] { 1, 23 });
System.out.println(cs[0]);
}
// 反射类的方法public void aal(InputStream in) 第四个
@Test
public void test4() throws Exception
{
Person p = new Person();
Class clazz = Class.forName("cn.com.day1.Person");
// getDeclared 显示私有的
Method method = clazz.getDeclaredMethod("aa1", InputStream.class);
method.setAccessible(true);// 暴力反射
Class cs[] = (Class[]) method.invoke(p,
new FileInputStream("d:\\a.java.txt"));
}
// 反射类的方法public static void aa1(int num)第五个
@Test
public void test5() throws Exception
{
Person p = new Person();
Class clazz = Class.forName("cn.com.day1.Person");
Method method = clazz.getMethod("aa1", int.class);
method.invoke(p, 23);
//method.invoke(null, 23);因为是静态的可以用这个