您的位置:首页 > 职场人生

黑马程序员-java反射3

2011-07-09 18:50 232 查看
Method类
Method类代表某个类中的一个成员方法
得到类中的某一个方法:
例子: Method charAt=Class.forName("java.lang.String").getMethod("charAt",int.class);
调用方法:
通常方式:System.out.println(str.charAt(1));
反射方式:Ssytem.out.println(charAt.invoke(str,1));
              如果传递给Method对象中的invoke()方法的一个参数为null,就代表着,这是该Method对象对应的是一个静态方法.
jdk1.4和jdk1.5的invoke方法的区别:
jdk1.5:public Object invoke(Object obj,Object ...args)  //1.5新特性中的可变参数
jdk1.4:public Object invoke(Object obj,Object[] args) //1.4 用数组表示。/**
*@Package:laladin.learn
*@Project:javaLearn
*@Title:ReflectTest.java
*@Description:TODO
*@author Topdog topdog@163.com
*@date 2011-7-9下午06:09:27
*@version v1.0
*/
package laladin.learn;

import java.lang.reflect.Method;

/**
* @ClassName:ReflectTest
* @Description TODO
* @date 2011-7-9
*/
public class ReflectTest {

/**
* @throws Exception
* @Title:main
* @Description:TODO
* @Param:@param args
* @Return:void
* @throws
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
String str1="ball";
Method methodCharAt=String.class.getMethod("charAt", int.class);
System.out.println(methodCharAt.invoke(str1, 1));

}

}

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息