java反射(2):Field代表类
发布日期:2025-04-02 02:41:15 浏览次数:11 分类:精选文章

本文共 830 字,大约阅读时间需要 2 分钟。

字段代表类的成员变量,而属性则通过方法获取和设定。在Java中,如果一个类没有直接声明$name这样的变量,但拥有getName和setName方法,我们仍然可以说它包含name这个属性。

字段与成员变量的区别

  • 字段(Field):类中的直接成员变量,例如:

    private String name;

    这里的name就是一个字段。

  • **成员变量(Fields)与成员属性(Properties)**是两种不同的概念。字段是类中直接 declares 的变量,而属性则是通过 getter 和 setter 方法暴露出来的值。

Java属性与方法的关系

  • 如果一个类拥有getAge和setAge方法,那么我们可以说这个类包含age这个属性:
    public class User {    public Integer getAge() { return age; }    public void setAge(Integer age) { this.age = age; }    private Integer age;}

方法的用途

以下是常见的方法及其用途:

1. get(Object obj)

  • 用途:从obj中获取对应的属性值。
    String name = user.getAge(); // name将获得User类中的age属性

2. set(Object obj, Object value)

  • 用途:将obj中的对应属性设为给定值。
    user.setAge(25); // 将用户对象的age属性设置为25

3. SetAccessible

  • 用途:允许通过反射访问受保护字段,忽略访问权限修饰符。
    AccessibleObject.setAccessible(obj, AccessibleObject.rejectAllAccessChecks());

    这将让我们能够读取和修改private字段,而不需要调用 públic methods。

上一篇:java反射(3):Method代表类
下一篇:java反射(1):Class代表类

发表评论

最新留言

关注你微信了!
[***.104.42.241]2025年04月25日 19时06分47秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章