「java反射实例教程视频」java反射使用方法
本篇文章给大家谈谈java反射实例教程视频,以及java反射使用方法对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
如何使用java反射/java反射实例
public class Demo {
private String key1 = "1";
private String key2 = "2";
public String getKey1() {
return key1;
}
public void setKey1(String key1) {
this.key1 = key1;
}
public String getKey2() {
return key2;
}
public void setKey2(String key2) {
this.key2 = key2;
}
public static void main(String[] args) throws Exception {
//参数 “Demo” 是类的全名,如果在包结构下,要有完整包路径 比如: com.test.Demo
Class? clazz = Class.forName("Demo");
//“Demo”类必须有默认构造方法,否则会抛出异常
Demo demo = (Demo) clazz.newInstance();
System.out.println(demo.getKey1());
System.out.println(demo.getKey2());
}
}
java反射机制实例
import java.lang.reflect.Method;
public class InvokeTester
{
public int add(int param1, int param2)
{
return param1 + param2;
}
public String echo(String message)
{
return "hello: " + message;
}
public static void main(String[] args) throws Exception
{
Class? classType = InvokeTester.class;
Object invokeTester = classType.newInstance();
// System.out.println(invokeTester instanceof InvokeTester); //返回true
Method addMethod = classType.getMethod("add", new Class[] { int.class,int.class }); //第二个形参表示指定的add方法要接收为int的类型的两个参数
Object result = addMethod.invoke(invokeTester, new Object[]{1, 2}); //反射调用,将1,2传入InvokeTester.Class的实例invokeTester里的add方法。得返回的结果。
System.out.println((Integer)result);
System.out.println("---------------------");
Method echoMethod = classType.getMethod("echo", new Class[]{String.class});
Object result2 = echoMethod.invoke(invokeTester, new Object[]{"tom"});
System.out.println((String)result2);
}
}
java反射怎么实现的
Java中反射有如下几种实现方式:
1、通过Class.forName()方法加载字符串,就可以得到该字符串做代表的Class对象。
2、通过类名调用class属性得到该类的Class对象。
例如:Class? clazz = String.class也可以得到String类的Class对象。
3、调用实例的getClass()方法。
例如:Date date = new Date();
Class? clazz = date.getClass();
通过上边的两句代码就可以得到date实例的Class对象。
关于java反射实例教程视频和java反射使用方法的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-08,除非注明,否则均为
原创文章,转载请注明出处。