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

java 反射获取属性值

作者:一杯酒悲痛人   发布日期:2025-08-31   浏览:110

import java.lang.reflect.Field;

public class ReflectionExample {

    public static void main(String[] args) {
        try {
            // 创建一个对象实例
            Person person = new Person("John", 30);

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

            // 获取指定属性 (例如 "name")
            Field nameField = clazz.getDeclaredField("name");
            // 设置访问权限为 true,即使该字段是私有的
            nameField.setAccessible(true);
            // 获取属性值
            String nameValue = (String) nameField.get(person);
            System.out.println("Name: " + nameValue);

            // 获取指定属性 (例如 "age")
            Field ageField = clazz.getDeclaredField("age");
            ageField.setAccessible(true);
            int ageValue = (int) ageField.get(person);
            System.out.println("Age: " + ageValue);

        } catch (NoSuchFieldException | IllegalAccessException e) {
            e.printStackTrace();
        }
    }
}

class Person {
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
}

解释说明:

  1. 创建对象实例:我们首先创建了一个 Person 类的对象 person
  2. 获取 Class 对象:通过 getClass() 方法获取 person 对象的 Class 对象。
  3. 获取字段:使用 getDeclaredField() 方法获取类中的特定字段(如 nameage)。
  4. 设置访问权限:通过 setAccessible(true) 方法允许访问私有字段。
  5. 获取属性值:使用 get() 方法从对象中获取字段的值,并将其打印出来。

这个例子展示了如何使用 Java 反射机制来动态获取对象的属性值。

上一篇:java string转list对象数组

下一篇:java function接口

大家都在看

java连接数据库的代码

java djl

ubuntu 卸载java

java读取excel中的图片

java新建

java sort用法

java collections.sort

java file类的方法

java发送qq邮件

java 判断

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

Laravel 中文站