- 浏览: 92817 次
- 性别:
- 来自: 苏州
文章分类
最新评论
-
jameswolf:
补肾啊!冬天多喝,但是补只是后招,别漏才是真理,呵呵
朋友告诉我的神粥秘方 -
wa327114652:
很想学习,但能再详细点吗?
for java beginner 5-2 - 自己实现枚举-下 -
superlittlefish:
不错,简单易懂.一直在看你的blog,感觉反射写的挺好的.让我 ...
for java beginner 15 下java反射在框架里的应用 读取properties文件
java 反射 Field类
-------用到一个bean
--------------------
---------------------------下面做的小实验,把一个类里所有String类型的字段里的值 b 变 a
----------------------------
---------------------------------
-------用到一个bean
package com.ncs; public class Point { private int x; public int y; public Point(int x, int y) { super(); this.x = x; this.y = y; } }
--------------------
package com.ncs; import java.lang.reflect.Field; //need another bean Point public class ReflectTest { //★这里说的Field都是 类 身上的,不是实例上的 public static void main(String[] args) throws Exception { Point pt1 = new Point(3,5); //得到一个字段 Field fieldY = pt1.getClass().getField("y"); //y 是变量名 //fieldY的值是5么?? 大错特错 //fieldY和pt1根本没有什么关系,你看,是pt1.getClass(),是 字节码 啊 //不是pt1对象身上的变量,而是类上的,要用它取某个对象上对应的值 //要这样 System.out.println(fieldY.get(pt1)); //这才是5 //现在要x了 /* Field fieldX = pt1.getClass().getField("x"); //x 是变量名 System.out.println(fieldX.get(pt1)); */ //运行 报错 私有的,找不到 //NoSuchFieldException //说明getField 只可以得到 公有的 //怎么得到私有的呢?? /* Field fieldX = pt1.getClass().getDeclaredField("x"); //这个管你公的私的,都拿来 //然后轮到这里错了 // java.lang.IllegalAccessException: //Class com.ncs.ReflectTest can not access a member of class com.ncs.Point with modifiers "private" System.out.println(fieldX.get(pt1)); */ //三步曲 一是不让你知道我有钱 二是把钱晃一下,不给用 三是暴力抢了 //暴力反射 Field fieldX = pt1.getClass().getDeclaredField("x"); //这个管你公的私的,都拿来 fieldX.setAccessible(true);//上面的代码已经看见钱了,开始抢了 System.out.println(fieldX.get(pt1)); //out 3 OK!! } }
---------------------------下面做的小实验,把一个类里所有String类型的字段里的值 b 变 a
package com.ncs; public class Point { private int x; public int y; public String s1 ="ball"; public String s2="hubin"; public String s3="zhangxiaoxiang"; //做实验而已,字段不可能是 public 的 public Point(int x, int y) { super(); this.x = x; this.y = y; } }
----------------------------
package com.ncs; import java.lang.reflect.Field; //need another bean Point public class ReflectTest { public static void main(String[] args) throws Exception { Point pt1 = new Point(3,5); //get all fields Field[] fields = pt1.getClass().getFields(); for(Field field : fields ) { //我说的是String 类型的字段,当然要选择一下 //if(field.getType().equals(String.class)) { //字节码都是一份的,干什么用equals啊 if(field.getType()== String.class) { String oldValue = (String)field.get(pt1); String newValue = oldValue.replace('b', 'a'); //改 对象的字段 field.set(pt1, newValue); } } System.out.println(pt1.s1); System.out.println(pt1.s2); System.out.println(pt1.s3); //aall //huain //zhangxiaoxiang } }
---------------------------------
发表评论
-
pull解析器通用解析XML与生成XML
2013-02-23 14:52 0pull解析器,简单易用,android都在用,肯定有他的优 ... -
java decompiler - a tool to view jar file
2012-02-15 22:26 960有时候还是很需要看看人家JAR包里写的什么乱七八糟的东西,这东 ... -
JAVA工作
2011-07-20 21:11 684################## Applet ... -
helios-use-subversion-behind-proxy
2011-04-04 16:30 730download the eclipse helios in ... -
IBM发布时间不足解决方法
2011-02-17 19:16 721D:\IBM\SDP\runtimes\base_v61\p ... -
log4j简单例子
2010-10-03 18:27 818简单点说, 写程序时,有时懒得debug,就直接Sy ... -
java 泛型-1-使用而已
2009-12-01 23:39 1024023-java1.5泛型-1 懒人想的 把检查代码的工作交 ... -
java 1.5 annotation-3 设值让反射拿
2009-12-01 20:39 1542java 1.5 annotation 的use 前面的什么 ... -
java 1.5 annotation-2
2009-11-30 23:28 1147java 1.5 注解-2[非常重要 比每举重要] 刚刚只是 ... -
java 1.5 annotation-1
2009-11-30 21:07 1266java 1.5 注解[非常重要 比每举重要] 1.5后的新 ... -
for java beginner-19 beanutils包
2009-11-29 22:20 721019-使用BeanUtils工具包操 ... -
for java beginner-18 JAVABEAN规范-1
2009-11-29 21:12 984018-JAVABEAN规范-1 IntroSpec ... -
for java beginner 17 配置文件的知识
2009-11-29 19:29 748017 配置文件的知识 刚刚已经说到 配置文件,我说放 工程 ... -
for java beginner 15 下java反射在框架里的应用 读取properties文件
2009-11-29 17:44 1342java 框架基础 ------------------- ... -
for java beginner 14 ArrayList HashSet HashCode(中)
2009-11-29 13:24 1089java 反射 数组的反射 ArrayList HashSe ... -
for java beginner13java 反射 数组的反射(上)其实是讲ArrayList HashSet HashCode
2009-11-29 12:35 886java 反射 数组的反射(上 ... -
for java beginner12数组的反射的应用
2009-11-29 10:04 955java 反射 数组的反射 数组也是一种类型,当然可以反射 ... -
for java beginner11 java 反射 Method类
2009-11-29 08:30 1207java 反射 Method类 str1.charAt() ... -
for java beginner 9 java反射的概念和Constructor 类
2009-11-29 07:13 1339java 反射 的概念 和 Constructor 类 反 ... -
for java beginner 8 java 反射的基础基础Class的理解
2009-11-29 07:09 967java 反射 的基础基础 Class的理解 反射 在 1 ...
相关推荐
introduce in english
Java A Beginner's Guide(6th) 英文无水印pdf 第6版 pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系...
Java Programming for the Absolute Beginner.pdf
Fully updated to cover Java Platform, Standard Edition 7 (Java SE 7), Java: A Beginner's Guide, Fifth Edition starts with the basics, such as how to compile and run a Java program, and then discusses...
So many books out there can teach you those skills in Java, C++, or C#. Many of them even claim that they can teach you in 24 hours! Don’t laugh! They probably can do that, but all of them take one ...
Pentaho 8 Reporting for Java Developers 英文azw3 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除
Java Programming for the Absolute Beginner
Java For Absolute Beginner
java beginner guide,
Java A Beginner's Guide(6th) 英文epub 第6版 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除
Java A Beginner's Guide(6th) 英文mobi 第6版 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除
Java A Beginner’s Guide(7th) 英文epub 第7版 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除
Java A Beginner’s Guide(7th) 英文azw3 第7版 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除
一本适用于java初学者的英文版教材,很全面的介绍了Java的初阶内容。
黑皮书 Learn Java 8 In a Week_ A Beginner's Guide to Java Programming,新手一个星期学好JAVA,推荐
Learn to design and create video games using the Java programming language and the LibGDX software library. Working through the examples in this book, you will create 12 game prototypes in a variety ...
Welcome to C# and the world of Windows, Internet and World-Wide-Web programming with Visual Studio and the .NET platform! This book is the second in our new .NET How to Program series, which presents ...
jQuery for Designers Beginner's Guide Second Edition 英文无水印原版pdf pdf所有页面使用FoxitReader、PDF-XChangeViewer、SumatraPDF和Firefox测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或...
Algorithm-Machine-Learning-for-Beginner-by-Python3.zip,斯克莱恩、坦索流。,算法是为计算机程序高效、彻底地完成任务而创建的一组详细的准则。
Java and Algorithmic Thinking for the Complete Beginner 英文无水印pdf pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自...