
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。
发表评论
最新留言
关注你微信了!
[***.104.42.241]2025年04月25日 19时06分47秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
"WARNING: Increasing RAM size to 1GB" and "Cannot set up guest memory 'xxx.ram': Invalid argument".
2023-01-23
#if 0 #elif 1 #else #endif 用法
2023-01-23
(反射+内省机制的运用)简单模拟spring IoC容器的操作
2023-01-23
(转)tomcat7.0 manager app和host manager web管理
2023-01-23
.Net(C#)实现异步编程
2023-01-23
.Net中webBrowser控件JS交互
2023-01-23
02-Docker镜像分类及操作秘籍,轻松掌握导出、导入、删除
2023-01-23
04-docker-commit构建自定义镜像
2023-01-23
04-docker系列-commit构建自定义镜像
2023-01-23
05-docker系列-使用dockerfile构建镜像
2023-01-23
05-如何通过Dockerfile实现高效的应用容器化?
2023-01-23
09-docker系列-docker网络你了解多少(下)
2023-01-23
10-docker系列-docker文件共享和特权模式
2023-01-23
#C8# UVM中的factory机制 #S8.1.4# 约束的重载
2023-01-23
#C8# UVM中的factory机制 #S8.2.3# 重载sequence哪些情形
2023-01-24
#C8# UVM中的factory机制 #S8.4.1# factory机制的实现
2023-01-24
900行c语言贪吃蛇,原生js实现的贪吃蛇网页版游戏完整实例
2023-01-24
ado读取多条oracle数据,Oracle ADO数据存取
2023-01-24