反射认识_02_反射成员变量Field
包01:
package ReflectionConstructor;
public class ReflectionFieldPoint {
private int x;
public int y;
public ReflectionFieldPoint(int x, int y) {
super();
this.x = x;
this.y = y;
}
}
包02:
package ReflectionConstructor;
import java.lang.reflect.Field;
/**
* 反射,
* 获得成员变量
*/
public class ReflectionField {
public static void main(String[] args) throws Exception {
ReflectionFieldPoint point1=new ReflectionFieldPoint(3, 8);
/**y是public*/
Field fieldY=point1.getClass().getField("y");
//fieldY值是5吗? 不是!fieldY是ReflectionFieldPoint类的y
//point1对应的y是5
int y=(int)fieldY.get(point1);//得到对象的x值
System.out.println(y); /** x是private*/
Field fieldX=point1.getClass().getDeclaredField("x");
fieldX.setAccessible(true);//因为x是private,要设置成可以访问
int x=(int)fieldX.get(point1);//得到对象的x值
System.out.println(x);
}
}
反射认识_02_反射成员变量Field的更多相关文章
- 反射【类Class、成员变量Field、方法Method】
Class<?> c = Class.forName("main.Main$MyClass"); //要包名+类名 Object obj = c.newInstance ...
- 反射认识_03_改变成员变量Fields
包01:package ReflectionChange; public class ReflectionPoint_AB { String str1="access"; Stri ...
- Java反射【四、成员变量的反射和构造的反射】
获取一个类下所有字段信息 Field[] fs = c.getFields(); 获取所有字段(public) Field[] fs = c.getDeclaredFields(); 获取所有声明字段 ...
- java 反射获取设置私有成员变量的值
for (Object arg:args) { //处理applicationCode Class<?> argClass = arg.getClass(); Field applicat ...
- java 27 - 4 反射之 通过反射获取成员变量并使用
类Field: 提供有关类或接口的单个字段的信息,以及对它的动态访问权限. A:获得类的成员变量 数组: 1.getFields(公共类的) 2.getDeclaredFields(所有类型的) B: ...
- java中使用反射做一个工具类,来为指定类中的成员变量进行赋值操作,使用与多个类对象的成员变量的赋值。
//------------------------------------------------我是代码的分割线 // 首选是一个工具类,在该工具类里面,定义了一个方法,public void s ...
- Android(java)学习笔记109:通过反射获取成员变量和成员方法并且使用
一.反射获取成员变量并且使用: 1.获取字节码文件对象: Class c = Class.forName("cn.itcast_01.Person"); 2.使用无 ...
- Android(java)学习笔记50:通过反射获取成员变量和成员方法并且使用
1. 反射获取成员变量并且使用: (1)获取字节码文件对象: Class c = Class.forName("cn.itcast_01.Person"); (2) ...
- Java反射之成员变量的反射
上一篇介绍了Java反射之构造方法反射.这次我们在说一说如何反射类中的成员变量并用作一个简单案例. [一]Field类 Filed类代表字段,包含字段拥有的所有属性,比如修饰符,变量类型,值等等,Fi ...
随机推荐
- 哈哈,好像swift 以后有可能用来开发安卓喔
好像swift 以后有可能用来开发安卓喔,哈哈
- 文件对比工具Beyond Compare使用方法
今天向大家介绍一个使用起来十分方便且功能十分强大的文件对比工具-Beyond Compare. 1 工具下载 工具的下载很简单,百度搜索Beyond Compare即可. 下载完成后,解压缩,双 ...
- Selinux在HTTP+PHP服务中的安全权限修改
在PHP用使用fopen的写入功能实,常会遇到诸如: PHP Warning: fopen(file): failed to open stream: Permission denied in (f ...
- sql索引组织
select p.*, p.partition_id, c.object_id,OBJECT_NAME(c.object_id) objectName,c.name,c.column_id,pc.m ...
- css spprite应用
(一)实现简单的淘宝带图标侧边栏效果 <!DOCTYPE html> <html lang="en"> <head> <meta char ...
- linux 多个ssh key 登录远程主机
登录A主机使用分配的sshkey需要指定特定的key,ssh -i ~/.ssh/xxx_id_rsa_privatekey username@host , 指定key后登录提示: Agent ...
- imx6 kernel clock
前段时间查看了uboot的时钟,kernel的也稍微了解了下,记录于此,以后再来补充完善. board-mx6q_sabresd.c MACHINE_START(MX6Q_SABRESD, " ...
- javascript知识点记录(2)
1.js 异步加载和同步加载 异步加载模式也叫非阻塞模式,浏览器在下载js的同时,同时还会执行后续的页面处理, 在script标签内,用创建一个script元素,并插入到document中,这样就是异 ...
- Spring 3.x jar 包详解 与 依赖关系(转)
以下的内容我会持续更新(当然是我有新发现的时候); 以下内容是我在网上搜索.整理.修改的而成的内容.由于很多内容都是转载了,无法追溯到源头,因此无法一一对原作者进行道谢. 这几天,我查阅大量的官方的文 ...
- ionic build android 报错分析