java反射机制示例
本文导语: java反射JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射...
java反射
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
package C_20130313;
import java.lang.reflect.Method;
class User
{
private String name;
public User(){}
public User(String name)
{
this.name=name;
}
public void say()//无参的方法
{
System.out.println("大家好,我叫"+name+"!");
}
public void say(String str)//有参的方法
{
System.out.println("大家好,我叫"+name+"!"+str+",我是有参的方法!");
}
}
/**
* @author LXA
* 反射最简单的例子
*/
public class反射
{
public static void main(String[] args) throws Exception
{
Class c=Class.forName("C_20130313_反射.User");//通过反射找到对应的类
Method m1=c.getMethod("say");//找到名字叫做say、且无参的方法
Method m2=c.getMethod("say",String.class);//找到名字叫做say、且有一个String类型参数的方法
m1.invoke(c.newInstance());//注意newInstance()调用的是无参的构造方法!!!
m2.invoke(new User("刘显安"),"哈哈");//通过有参的构造方法实例化一个对象
}
}