package com.study.reflect;

 import java.lang.reflect.Field;
/**
* 反射,获取属性
* @ClassName: FieldDemo
* @author BlueLake
* @date 2015年9月10日 下午4:21:29
*/
public class FieldDemo { public static void main(String[] args) throws NoSuchFieldException, SecurityException, InstantiationException, IllegalAccessException {
//
Class c = Student.class;
//Field,获取属性,返回数组
Field[] f0 = c.getFields();
for(Field f:f0){
System.out.println(f.getName()+"---"+f.getType());//addr---class java.lang.String
} //获得所有的属性,无论访问修饰权限。
Field[] f1 = c.getDeclaredFields();
for(Field f:f1){
System.out.println(f);
/*
* private java.lang.String com.study.reflect.Student.name
private int com.study.reflect.Student.age
*/
}
//
Field f2 = c.getDeclaredField("age");
Class cla = f2.getType();
String name = f2.getName();
System.out.println(cla+"..."+name);//int...age
//
Field f3 = c.getDeclaredField("name");
//创建对象
Object obj = c.newInstance();
//设置访问修饰符
f2.setAccessible(true);
f3.setAccessible(true);
//设置属性值
f2.set(obj, 28);
f3.set(obj, "明珠");
System.out.println(obj);
//获取属性
System.out.println(f2.get(obj));
System.out.println(f3.get(obj));
} }

Java反射《三》获取属性的更多相关文章

  1. java反射机制获取自定义注解值和方法

    由于工作需求要应用到java反射机制,就做了一下功能demo想到这些就做了一下记录 这个demo目的是实现动态获取到定时器的方法好注解名称,废话不多说了直接上源码 1.首先需要自定义注解类 /** * ...

  2. java反射之获取所有方法及其注解(包括实现的接口上的注解),获取各种标识符备忘

    java反射之获取类或接口上的所有方法及其注解(包括实现的接口上的注解) /** * 获取类或接口上的所有方法及方法上的注解(包括方法实现上的注解以及接口上的注解),最完整的工具类,没有现成的工具类 ...

  3. # Java反射2——获取实体所有属性和方法,并对属性赋值

    1.一个普通的实体Person: private int id; private String name; private Date createdTime; ... //其它字段 // get se ...

  4. java 反射机制--根据属性名获取属性值

    1.考虑安全访问范围内的属性,没有权限访问到的属性不读取 /** * 根据属性名获取属性值 * * @param fieldName * @param object * @return */ priv ...

  5. Java反射机制获取Class文件

    JAVA反射机制是在运行状态中,对于任意一个类(class文件),都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象方法的功能称为 ...

  6. java反射之获取类的基本信息(一)

    一.反射原理. Java 反射机制.通俗来讲呢,就是在运行状态中,我们可以根据“类的部分已经的信息”来还原“类的全部的信息”.这里“类的部分已经的信息”,可以是“类名”或“类的对象”等信息.“类的全部 ...

  7. java反射(三)--反射与操作类

    一.反射与操作类 在反射机制的处理过程之中不仅仅只是一个实例化对象的处理操作,更多的情况下还有类的组成的操作,任何一个类的基本组成结构:父类(父接口),包,属性,方法(构造方法,普通方法)--获取类的 ...

  8. 通过java反射机制获取该类的所有属性类型、值

    转自:http://blog.csdn.net/sd4000784/article/details/7448221 方法使用了这俩个包下的 field 和method import Java.lang ...

  9. 深入分析Java反射(三)-泛型

    前提 Java反射的API在JavaSE1.7的时候已经基本完善,但是本文编写的时候使用的是Oracle JDK11,因为JDK11对于sun包下的源码也上传了,可以直接通过IDE查看对应的源码和进行 ...

  10. Java——反射三种方式的效率对比

    转载自:https://blog.csdn.net/aitcax/article/details/52694423 1 使用field(效率最高)             long start = S ...

随机推荐

  1. P493 brass

    实现多态共有继承的两种方法 1 在派生类中重新定义基类的方法 2 使用虚方法 P493程序清单13.7使用的方法为在派生类中重新定义基类的方法 brass.h #ifndef BRASS_H #def ...

  2. openvswitch vlan下的虚拟机与物理机通信

    1,安装openvswitch ,图形界面显示等用到的安装包. yum install libvirt openvswitch python-virtinst xauth tigervnc -y 2, ...

  3. cocos2dx 如何获得节点的类型

    1. 需求:在所有子节点中得到是ui::Text类型的节点,并对其进行操作. 2. 解决方案:在根节点Node中有一个如下的函数: /** * Gets the description string. ...

  4. mongodb分享(二)

    上次讲的:查询find\findone\pretty.条件操作符 (大于.小于.大于等于.小于等于.不等于,$type).limit\skip.sort.Db.postjson.getIndexes( ...

  5. win10 java环境变量

    https://jingyan.baidu.com/article/fd8044fa2c22f15031137a2a.html

  6. 单细胞文章分享:Molecular Diversity of Midbrain Development in Mouse, Human, and Stem Cells

    Molecular Diversity of Midbrain Development in Mouse, Human, and Stem Cells 本文作者的官网:Ventral midbrain ...

  7. “安利”一个CDN服务商网站

    一.CDN简介 CDN的全称是Content Delivery Network,即内容分发网络.CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡.内容分发.调度 ...

  8. VLC播放H264文件问题

    VLC1.1.7版本默认情况下不能播放H264数据流.需要做如下设置

  9. 20171104xlVBA各人各科进退

    Sub 各班个人各科进步幅度() Dim dRank As Object Set dRank = CreateObject("Scripting.Dictionary") Dim ...

  10. 「THUWC 2017」在美妙的数学王国中畅游

    这个题目很明显在暗示你要用泰勒展开. 直接套上去泰勒展开的式子,精度的话保留12项左右即可. 分别维护每一项的和,可能比较难写吧. 然后强行套一个LCT就没了.