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,"李四"); } }

      

  • 相关阅读:
    css 深入理解
    2018 web经典面试题
    CSS 居中布局
    HTTP首部解析
    http状态码有那些?分别代表是什么意思?
    基本HTTP协议流程是什么?
    JS-变量
    javascript基础1
    css3弹性盒模型(Flexbox)
    文字效果和颜色
  • 原文地址:https://www.cnblogs.com/ethnic/p/14539213.html
Copyright © 2011-2022 走看看