Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java反射获取属性值

作者:渚寒烟淡   发布日期:2026-07-09   浏览:41

import java.lang.reflect.Field;

public class ReflectionExample {
    public static void main(String[] args) {
        try {
            // 创建一个示例对象
            MyClass obj = new MyClass();
            obj.setName("Java Reflection");
            obj.setAge(25);

            // 获取类的Class对象
            Class<?> clazz = obj.getClass();

            // 获取指定属性
            Field nameField = clazz.getDeclaredField("name");
            Field ageField = clazz.getDeclaredField("age");

            // 设置属性可访问(如果是私有属性)
            nameField.setAccessible(true);
            ageField.setAccessible(true);

            // 获取属性值
            String nameValue = (String) nameField.get(obj);
            int ageValue = (int) ageField.get(obj);

            // 输出属性值
            System.out.println("Name: " + nameValue);
            System.out.println("Age: " + ageValue);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

class MyClass {
    private String name;
    private int age;

    public void setName(String name) {
        this.name = name;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

解释说明:

  1. 创建对象:首先我们创建了一个 MyClass 类的对象,并设置了它的 nameage 属性。
  2. 获取 Class 对象:通过 obj.getClass() 获取该对象对应的 Class 对象。
  3. 获取字段:使用 clazz.getDeclaredField("name")clazz.getDeclaredField("age") 分别获取 nameage 字段。
  4. 设置字段可访问:如果字段是私有的,需要调用 setAccessible(true) 来允许反射访问这些私有字段。
  5. 获取字段值:通过 nameField.get(obj)ageField.get(obj) 获取字段的实际值。
  6. 输出结果:最后将获取到的字段值打印出来。

这段代码展示了如何使用 Java 反射机制来获取对象的属性值。

上一篇:java xml解析

下一篇:java ||

大家都在看

java url decode

java判断是windows还是linux

java原始数据类型

java连接数据库的代码

java date类型比较大小

java djl

ubuntu 卸载java

es java api

java常用的设计模式有哪些

java list 查找

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站