zoukankan      html  css  js  c++  java
  • 【BigData】Java基础_反射(操作对象、方法)

    【BigData】Java基础_反射中只是对对象实现了反射,但是在我们实际的编程中,一个类中可能会存在很多个方法,那么当我们的方法没写好的时候,我们调用的时候就会受到牵制,所以与类一致,方法上也可以使用反射,这样就可以一劳永逸。

    代码实现

    package cn.test.logan.day10.reflect;
    
    import java.lang.reflect.Method;
    
    public class TestPerson {
        public static void main(String[] args) throws Exception {
            /**
             * 以下参数可以写在文件中,从文件中动态读取,此处为了简便,就从Eclipse工具输入
             */
            String className = args[0]; //要实例化的类名
            String methodName = args[1]; //要调用的方法名
            Class<?> pclass = Class.forName(args[2]);//    方法的参数类型
            String foodName = args[3]; // 调方法时,传入的参数值
            
            Class<?> forName = Class.forName(className);
            Person p =(Person)forName.newInstance();
            
            //从forName这个模板中获取方法
            Method method = forName.getMethod(methodName,pclass);
            
            // 将method在对象是执行
            Object invoke = method.invoke(p, foodName);
            System.out.println(invoke);
        }
    }

     说明:执行以上方法需要使用Run as -->>Run configurations

    执行结果为:

  • 相关阅读:
    第十二周作业
    第十一周作业
    第十周作业
    第九周作业
    第八周作业
    bzoj3561DZY Loves Math VI
    bzoj3529[Sdoi2014]数表
    bzoj3309DZY Loves Math
    bzoj2823[AHOI2012]信号塔
    bzoj2301[HAOI2011]Problem b
  • 原文地址:https://www.cnblogs.com/OliverQin/p/12115405.html
Copyright © 2011-2022 走看看