Java:调用反射的方法

拼搏现实的明天。 2022-07-14 10:47 273阅读 0赞

Java:调用反射的方法

类中的普通方法只有在一个类产生实例化对象之后,才可以调用,并且实例化对象的方式有三种:new关键字,反射,克隆对象。具体代码实现:
Food.java 中代码如下:

  1. package cn.dujiang.next;
  2. /** * @author Dujiang * */
  3. public class Food {
  4. private String title ;
  5. public void setTitle(String title) {
  6. this.title = title;
  7. }
  8. public String getTitle() {
  9. return title;
  10. }
  11. }

TestDemo.java 中的代码如下:

  1. package cn.dujiang.demo;
  2. import java.lang.reflect.Method;
  3. /** * 此时完全看不到具体的操作类型,也就是说利用反射可以实现任意类的指定方法的调用 * @author Dujiang * */
  4. public class TestDemo {
  5. public static void main(String[] args) throws Exception {
  6. String fieldName = "title" ; //要操作的成员
  7. Class<?> cls = Class.forName("cn.dujiang.next.Food") ;
  8. Object obj = cls.newInstance();//必须给出实例化对象
  9. Method setMet = cls.getMethod("set" + initcap(fieldName),String.class) ;
  10. Method getMet = cls.getMethod("get" + initcap(fieldName)) ;
  11. setMet.invoke(obj, "鱼香肉丝");//等价于:Food类对象.setTitle("鱼香肉丝")
  12. System.out.println(getMet.invoke(obj));
  13. }
  14. public static String initcap(String str){
  15. return str.substring(0,1).toUpperCase() + str.substring(1);
  16. }
  17. }

℃江

发表评论

表情:
评论列表 (有 0 条评论,273人围观)

还没有评论,来说两句吧...

相关阅读

    相关 操作方法

    目标:通过反射获得User类的Class对象,得到该类的所有信息,构造User类的对象,调用普通方法,操作属性。  \创建User类(方便演示) package R

    相关 Java深入浅出

    刚开始接触反射这个概念,感觉反射这个机制很复杂很难懂,所以在这篇文章中对java的反射机制以个人的理解总结归纳。 1. 什么是反射? 什么是反射?在官方文档中是这样说的