package com.javaluna.reflect;

import java.lang.reflect.Field;
import java.lang.reflect.Method; import org.junit.Test; public class ReflectDemo01{ @Test
public void test0() throws Exception{
Person person=new Person();
person.setId(1);
person.setName("张三");
person.setAddress("上海");
Class<? extends Person> c = person.getClass();
Field[] fields = c.getDeclaredFields();//获取所有属性字段 private public,但是不包含父类
for(Field f:fields){
f.setAccessible(true);
String fieldName=f.getName();
if(fieldName.equals("address")){
f.set(person, "北京");//设置属性值
}
Object fieldVal=f.get(person);//获取属性值
System.out.println("fieldName = "+fieldName+" fieldVal = "+fieldVal); }
//直接获取某个字段值
Method m=c.getDeclaredMethod("getId");
System.out.println(m.invoke(person));//获取属性值
Method m1=c.getDeclaredMethod("setName",String.class);
m1.invoke(person, "李四");//设置属性值
System.out.println(person.getName());
}
} class Person{ private Integer id;
private String name;
private String address; public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
} }

关于反射详解:http://www.cnblogs.com/onlywujun/p/3519037.html

【java】之Method和Field反射获取和设置属性值的更多相关文章

  1. JAVA读取XML文件并解析获取元素、属性值、子元素信息

    JAVA读取XML文件并解析获取元素.属性值.子元素信息 关键字 XML读取  InputStream   DocumentBuilderFactory   Element     Node 前言 最 ...

  2. java反射获取字段的属性值,以及为字段赋值等方法

    1.获取某个类的属性值 /*利用getter方法获取值(首字母大写) CjJssetDTO obj: */ String filedName = "Cj"+(i+1); Class ...

  3. Java反射学习-1 - 反射获取类的属性,方法,构造器

    新建一个Person类 package cn.tx.reflect; /** * 注解初步了解 * @author Administrator * */ public class Person { p ...

  4. java利用反射获取类的属性及类型

    java利用反射获取类的属性及类型. import java.lang.reflect.Field; import java.math.BigDecimal; import java.util.Map ...

  5. java反射获取和设置实体类的属性值 递归所有父类

    最近做一个通用数据操作接口,需要动态获取和设置实体类的属性值,为了通用实体做了多重继承,开始网上找到代码都不支持父类操作,只能自己搞一个工具类了,此工具类可以设置和获取所有父类属性,代码贴下面拿走不谢 ...

  6. Java反射获取对象成员属性,getFields()与getDeclaredFields()方法的区别

    Java反射获取对象成员属性,getFields()与getDeclaredFields()方法的区别 ​ 在工作中遇到一个问题,就是你需要去判断某个字符串是不是对象的某个成员属性名,然后根据判断结果 ...

  7. c# 如何通过反射 获取\设置属性值

    c# 如何通过反射 获取\设置属性值 //定义类public class MyClass{public int Property1 { get; set; }}static void Main(){M ...

  8. go语言通过反射获取和设置结构体字段值的方法

    本文实例讲述了go语言通过反射获取和设置结构体字段值的方法.分享给大家供大家参考.具体实现方法如下: type MyStruct struct { N int } n := MyStruct{ 1 } ...

  9. jquery attr()方法 添加,修改,获取对象的属性值。

    jquery attr()方法 添加,修改,获取对象的属性值. jquery中用attr()方法来获取和设置元素属性,attr是attribute(属性)的缩写,在jQuery DOM操作中会经常用到 ...

随机推荐

  1. JavaBasic_10

    JVM中的对一个对象的所有初始化动作,是javac在字节码文件中帮我们生成的 1.成员变量的显式初始化 2.初始化代码块(构造代码块) 3.构造方法 初始化静态的东西 在Java中,一个没有方法体的方 ...

  2. SLES 12 sp2开启SuSEfirewall2 防火墙后,放行VRRP协议 (用于keepalived搭建高可用规则)

    centos 6下面修改防火墙vi /etc/sysconfig/iptables 增加这个-A INPUT -p 112 -d 224.0.0.0/32 -j ACCEPT #-p 112指定协议为 ...

  3. [LeetCode&Python] Problem 530. Minimum Absolute Difference in BST

    Given a binary search tree with non-negative values, find the minimum absolute difference between va ...

  4. flask数据库的迁移

    需要的插件:flask-migrate  在每次修改模型之后,将修改的东西映射到数据库中. 使用flask-migrate 必须借助flask_scripts,这个包的所有MigrateCommand ...

  5. SSAS aggregation 的作用及其使用

    作用: 聚合是为了解决查询在运行时的效率低下,在数据立方体部署的时候进行聚合,实际上是对数据立方体的预处理,方便以后查询.如若在部署时未进行聚合,则在以后每次查询时实际上都会进行一次集合的操作,等待结 ...

  6. 2017.4.4 TCP/IP协议栈

    OSI和TCP/IP的各层协议总结: TCP/IP在封装和传输数据时,各层所做的工作:

  7. 【HDOJ4612】【双连通分量缩点+找树的直径】

    http://acm.hdu.edu.cn/showproblem.php?pid=4612 Warm up Time Limit: 10000/5000 MS (Java/Others)    Me ...

  8. 把目录C:\Python34\PCI_Code\chapter2\加到系统路径中

    >>> import sys >>> sys.path.append("C:\Python34\PCI_Code\chapter2")

  9. C结构体变量2种运算(比如链表的结点)(区别与java)

    a结构体变量,只能做两种运算, 整体引用(赋值,参数传递) 或访问成员(点运算—地址方式简化,地址方式)(见最后的图片) case万: 结论:java里面的class Node : Node p; p ...

  10. Python自建collections模块

    本篇将学习python的另一个内建模块collections,更多内容请参考:Python学习指南 collections是Python内建的一个集合模块,提供了许多有用的集合类. namedtupl ...