------
android培训、
java培训、期待与您交流! ----------
Java运行的时候,某个类无论生成多少个对象,他们都会对应同一个Class对象,它表示正在运行程序中的类和接口。如何取得操作类的Class对象,常用的有三种方式:
-
- 调用Class的静态方法forName,如上例;
- 使用类的.class语法,如:Class<?> cls = String.class;
- 调用对象的getClass方法,如:String str = "abc";Class<?> cls = str .getClass();
下面将通过实例讲述如何通过前面所诉的三步来执行某对象的某个方法:
package com.wanggc.reflection;
import java.lang.reflect.Method;
/**
* Java 反射练习。
*
* @author Zhangyange
*/
public class ReflectionTest {
public static void main(String[] args) throws Exception {
DisPlay disPlay = new DisPlay();
// 获得Class
Class<?> cls = disPlay.getClass();
// 通过Class获得DisPlay类的show方法
Method method = cls.getMethod("show", String.class);
// 调用show方法
method.invoke(disPlay, "Wanggc");
}
}
class DisPlay {
public void show(String name) {
System.out.println("Hello :" + name);
}
}
<span style="background-color: rgb(255, 255, 255);"><span style="font-family: verdana, 'ms song', Arial, Helvetica, sans-serif; font-size: 14px; line-height: 21px;"> </span></span>
------ android培训、 java培训、期待与您交流! ----------