黑马程序员-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));
}
}
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));
}
}
相关文章推荐
- 黑马程序员-java反射
- 黑马程序员——Java基础——反射
- 黑马程序员——Java之反射
- 黑马程序员--java基础--反射
- 黑马程序员——java基础——反射
- 黑马程序员-Java 反射-
- 黑马程序员---java高新技术----反射技术
- 黑马程序员——java高新技术——反射
- 黑马程序员-----Java基础-----反射
- 黑马程序员_java基础反射类型与应用2
- 黑马程序员---Java高新技术(三)--反射
- 黑马程序员Java培训和Android培训:反射
- 黑马程序员_JAVA_反射
- 黑马程序员——Java基础---反射Class类、Constructor类、Field类
- 黑马程序员————java高薪技术---反射单元1
- 黑马程序员——Java基础---反射
- 黑马程序员:java中的Class类和反射(一)
- 黑马程序员_java枚举、反射
- 黑马程序员_java高新技术_枚举与反射
- 黑马程序员-Java反射学习