zoukankan      html  css  js  c++  java
  • 回顾反射机制Method

    package com.demo.service;
    
    public interface SayHello {
        void sayHello(String name);
    }
    

      

    接口实现类

    package com.demo.service.impl;
    
    import com.demo.service.SayHello;
    
    public class SayHelloImpl implements SayHello {
    
        @Override
        public void sayHello(String name) {
            System.out.println("hello"+name);
        }
    }
    

      

    测试主函数

    package com.demo.service;
    
    import com.demo.service.impl.SayHelloImpl;
    
    import java.lang.reflect.InvocationTargetException;
    import java.lang.reflect.Method;
    
    public class Test {
        public static void main(String[] args) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
            SayHelloImpl demo = new SayHelloImpl();
            //获取sayHello方法对应的Method类对象
            /**
             * getMethod(String name, Class<?>... parameterTypes)
             * 1.方法的名称,String类型
             * 2.参数类型
             */
            Method method = SayHello.class.getMethod("sayHello", String.class);
            /**
             * 通过Method对象的invoke()可以执行sayHello方法调用
             * 1.Object 表示对象,要执行对象的方法
             * 2.Object...args 方法执行是的参数值
             */
            //表示执行demo这个对象的sayHello方法,参数是李四
          //当需要执行其他对象的sayHello方法时,只需要替换对象即可实现 method.invoke(demo,"李四"); } }

      

  • 相关阅读:
    【习题整理】分块+莫队(未完待续)
    【bzoj4198】【Noi2015】荷马史诗
    【bzoj2006】【NOI2015】超级钢琴
    【bzoj1029】【JSOI2007】建筑抢修
    【bzoj1483】【HNOI2009】梦幻布丁
    【bzoj4195】【NOI2015】程序自动分析
    Rearrangement inequality
    hdu1047
    hdu1046
    hdu1045
  • 原文地址:https://www.cnblogs.com/ethnic/p/14539213.html
Copyright © 2011-2022 走看看