• 回顾反射机制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,"李四"); } }

      

  • 相关阅读:
    stm32 单片机
    #pragma hdrstop
    #pragma预处理命令
    用define 宏定义注释符号
    ANSI 标准C 还定义了如下几个宏
    国际C 语言乱码大赛(IOCCC )
    深入浅出C语言中的柔性数组
    有符号数与无符号数之间运算问题
    c 语言 register 关键字
    Windows堆思维导图--Windows pro sp3
  • 原文地址:https://www.cnblogs.com/ethnic/p/14539213.html
Copyright © 2020-2023  润新知