java 反射执行方法

更新时间:2023-07-15 13:48:47 阅读: 评论:0

java 反射执行方法怎的成语
    Java射是Java言中比较重要的技术,可以帮助开发人员在不了解具体类型的情况下,对对象进行操作。本文将重点讲解 Java射执行方法的常用方法。
    一、Java射的概念
    反射(Reflection),是指程序可以访问、检测和修改它本身状态或行为的一种能力。它有助于完成自省(introspection),自描述(introspection)和自配置(configuration)的许多任务。在 Java 中,反射是指在运行时,分析和使用类、接口、字段、方法等等的能力。
    反射机制是 Java言中一种强有力的工具,它允许程序在运行时,可以运行任意对象,调用任意方法,判断任意类型,构造任意类型实例,在程序中可以实现动态加载和动态链接的功能。
    二、Java射执行方法
    Java射支持执行类中的方法,执行这些方法前需要获取 Method象,方法可以通过 Method象执行。下面我们将介绍Java射执行方法常用的方法:
    1. 使用 DeclaredMethods()法获取类中所有方法,然后再根据需要调用方法;
    2. 使用 Method()法获取指定方法;
    3. 使用 DeclaredMethod()法获取类中指定方法;
    4. 使用 Constructor()法获取构造器,再调用 newInstance()法;
    5. 使用 Class.forName()法动态加载类,再调用 newInstance()法;
    6. 使用 wInstance()法创建类的实例,再调用实例的方法。
    三、Java射执行方法的实例
    下面我们给出Tast类的定义:
划的成语    public class Test {
对祖国的美好祝愿    public void sayHello() {
    System.out.println(Hello!);
    }
    public void sayBye() {
    System.out.println(Bye!);
    }
    }
    1. 使用 DeclaredMethods()法获取类中所有方法,然后再根据需要调用方法:
    //取Test类
    Class clazz = Class.forName(Test
    //取Test类中所有方法
上课如何瘦腿    Method[] methods = DeclaredMethods();
    //历方法
    for (Method method : methods){
    //印方法名
    System.out.Name());
    //取方法名
    String methodName = Name();
    //据需要执行方法
    if(sayHelloequals(methodName)){
湖南抗战    //用sayHello()方法
    method.wInstance());
    }
    if(sayByeequals(methodName)){
    //用sayBye()方法
    method.wInstance());
    }
    }
消防法
    2. 使用 Method()法获取指定方法:
    //取Test类
    Class clazz = Class.forName(Test
    // 使用类加载器加载Test类
    ClassLoader loader = ClassLoader();
    //取sayHello()方法
    Method method = Method(sayHello loader);
    //行sayHello()方法
    method.wInstance());
    3. 使用 DeclaredMethod()法获取类中指定方法:
外疮    //取Test类
    Class clazz = Class.forName(Test
    //取sayBye()方法
    Method method = DeclaredMethod(sayBye
    //行sayBye()方法
    method.wInstance());
    4. 使用 Constructor()法获取构造器,再调用 newInstance()法:
    //取Test类
    Class clazz = Class.forName(Test
    //取Test类的构造函数
    Constructor constructor = Constructor();
    //过构造函数实例化对象
    Object obj = wInstance();
    //用sayHello()方法
    Method method = DeclaredMethod(sayHello
    //行sayHello()方法
    method.invoke(obj);
    5. 使用 Class.forName()法动态加载类,再调用 newInstance()法:蝙蝠的图片
    //过Class.forName()方法动态加载Test类
    Class clazz = Class.forName(Test
    //过newInstance()获取Test类实例对象
    Object obj = wInstance();

本文发布于:2023-07-15 13:48:47,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1097958.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:方法   任意   执行   动态   加载   调用   实例
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图