`

java string 字符串 当方法名调用 java反射机制

阅读更多
在很多情况下,我们都需要使用字符串来转换成方法,因为这个可以减少循环,降低代码的复杂度,而且还可以复用。
下面我们就介绍一下java的反射功能:
TestRef.java
import java.lang.reflect.Method;
import java.lang.reflect.InvocationTargetException;

public class TestRef {

    public static void main(String args[]) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException {
        Foo foo = new Foo("这个一个Foo对象!");
        Class clazz = foo.getClass();
        Method m1 = clazz.getDeclaredMethod("outInfo");
        Method m2 = clazz.getDeclaredMethod("setMsg", String.class);
        Method m3 = clazz.getDeclaredMethod("getMsg");
        m1.invoke(foo);
        m2.invoke(foo, "重新设置msg信息!");
        String msg = (String) m3.invoke(foo);
        System.out.println(msg);
    }
}

class Foo {
    private String msg;

    public Foo(String msg) {
        this.msg = msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public String getMsg() {
        return msg;
    }

    public void outInfo() {
        System.out.println("这是测试Java反射的测试类");
    }
}

分享到:
评论

相关推荐

    利用java反射调用实现对字符串的解析,成功调入函数,并且返回值

    总的来说,通过Java反射,我们可以动态地调用对象的方法,这在处理不确定或动态行为时非常有用,比如解析字符串、插件系统或者序列化/反序列化等场景。然而,反射也带来了性能开销和安全风险,因此在使用时需要谨慎...

    java反射机制 字符串——java对象

    在Java反射机制中,字符串可以用来表示类名、方法名或参数类型,是连接代码与运行时类信息的桥梁。 在Java中,将Java对象的数据封装成XML格式的字符串,通常涉及到对象序列化的过程。对象序列化是将对象的状态转换...

    String字符串注入类静态字段

    在Java编程中,"String字符串注入类的静态字段"是一个常见的需求,特别是在初始化配置或设置全局常量时。本文将详细讲解如何实现这一功能,并探讨相关的编程知识点。 首先,我们来看`StringInjector.java`,这个类...

    Java中如何使用字符串来实例化类以及调用类

    在Java编程语言中,动态地使用字符串来实例化类并...总之,通过字符串来实例化类并调用其方法是Java反射机制的强大功能之一,它提供了运行时的灵活性和动态性,但同时也需要谨慎使用,以避免可能的安全问题和性能开销。

    Java中颜色的String和Color对象之间的互相转换

    Java 中颜色的 String 和 Color 对象之间...Java 中颜色的 String 和 Color 对象之间的互相转换可以通过使用 `Integer.parseInt` 方法和 `Integer.toHexString` 方法实现,或者使用反射机制来实现更多的颜色表示形式。

    java面试题--反射机制

    ### Java反射机制详解 #### 一、引言 在Java面试中,经常会出现与反射机制相关的题目。这是因为Java反射机制不仅是Java语言的一项重要特性,也是理解Java动态特性的关键所在。通过本文,我们将深入探讨Java反射...

    java 通过反射获取枚举类,及枚举类的值,枚举类枚举实例名

    3. **获取枚举实例名**:每个枚举实例都有一个与之关联的名称,这是在枚举声明中给出的字符串。可以使用`getName()`方法获取。 ```java String redName = colors[0].name(); // "RED" ``` 4. **通过名称获取枚举...

    JMSI:Java方法字符串调用

    Java方法字符串调用(JMSI)是一种编程技术,它允许开发者通过字符串来动态地调用Java类的方法。这种技术的核心是Java反射API,它为程序提供了在运行时检查和修改对象行为的能力。通过反射,我们可以获取类的信息,...

    java反射机制原理

    Java反射机制是Java编程语言中的一个核心特性,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。这一机制使得Java具备了高度的灵活性和动态性,尤其是在处理元数据、创建对象、调用方法和访问...

    Java反射根据不同方法名动态调用不同的方法(实例)

    这些字符串对应于`Person`类中的getter方法名。 然后,我们遍历这个列表。对于列表中的每一个方法名,我们使用`Class.getMethod()`方法找到`Person`类中对应的方法实例。这个方法需要两个参数:一个是方法名,另一...

    Java反射机制Demo

    Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制。...

    Java 反射机制 代码的实例

    Java反射机制是Java编程语言中的一个强大特性,它允许程序在运行时检查和操作类、接口、对象等的内部结构。通过反射,开发者可以动态地获取类的信息并调用其方法,创建对象,访问私有成员,甚至改变类的行为。在深入...

    Java反射机制源码

    Java反射机制是Java编程语言中的一个强大特性,它允许程序在运行时检查和操作类、接口、对象等的内部结构。通过反射,开发者可以动态地创建对象、调用方法、访问字段,甚至修改私有成员,这为实现元编程和框架设计...

    Java动态调用实例

    反射是Java提供的一种机制,它允许程序在运行时检查类、接口、字段和方法的信息,甚至可以创建和操作对象。`java.lang.reflect`包提供了多种类和接口来支持反射,如`Class`、`Constructor`、`Method`和`Field`。例如...

    提供将对象转换成JSON字符串的方法 (2).pdf

    最后,调用`toJSONArray(String[] strs)`方法将这个字符串数组转换为一个完整的JSON字符串。 3. `toJSONArray(String[] strs)`:这个方法用于将多个JSON字符串合并为一个JSON数组。它创建一个StringBuffer,然后将...

    JAVA的反射机制与动态代理.pdf

    #### 一、JAVA反射机制概述 JAVA的反射机制是一种强大的功能,允许程序在运行时获取类的信息并操作类的对象。这种能力在很多情况下非常有用,比如在进行代码框架设计时,我们经常需要在运行时根据不同的条件选择...

    java反射机制1

    Java反射机制是Java编程语言中的一个强大特性,它允许程序在运行时检查并操作类、接口、对象等的内部信息,实现对Java类的动态加载、动态调用方法和访问字段。这一特性使得Java能够展现出高度的灵活性和适应性,尤其...

    java反射机制简介

    - `Class.forName(String className)`:根据字符串形式的类名动态加载类,并返回对应的`Class`对象。 - 基本类型的包装类提供的`TYPE`属性:例如`Integer.TYPE`表示`int`类型。 #### 五、实例化对象 通过反射...

    Java反射机制

    ### Java反射机制详解 #### 一、引言 Java反射机制是Java语言中一项重要的功能,使得Java在一定程度上具备了动态语言的特性。通过反射,可以在运行时获取类的信息,包括类的成员变量、方法、构造器等,并且能够在...

    Java反射函数机制实现List转换Json

    在`main`方法中,我们创建了一个`ObjectMapper`实例,然后调用了`writeValueAsString`方法,将List对象转换为JSON字符串。注意,这只是一个基本示例,实际应用中可能需要处理更复杂的情况,例如自定义序列化逻辑、...

Global site tag (gtag.js) - Google Analytics