反射2
2015-09-08 08:04
183 查看
package cn.itcast.reflect;
import java.lang.reflect.Field;
import org.junit.Test;
public class Demo4 {
/**反射类的字段
* @param args
* @throws Exception
*/
//反射:public String name;
@Test
public void test1() throws Exception{
Person p = new Person();
Class clazz = Class.forName("cn.itcast.reflect.Person");
Field f = clazz.getField("name"); //name
f.set(p, "flx");
System.out.println(p.getName());
}
//反射:public String name;
@Test
public void test2() throws Exception{
Person p = new Person();
p.setName("xxx");
Class clazz = Class.forName("cn.itcast.reflect.Person");
Field f = clazz.getField("name"); //name
String result = (String) f.get(p);
System.out.println(result);
}
//反射:public final String password = ""; //字段或成员变量
@Test
public void test3() throws Exception{
Person p = new Person();
Class clazz = Class.forName("cn.itcast.reflect.Person");
Field f = clazz.getField("password"); //name
String result = (String)f.get(p);
System.out.println(result);
}
//反射:private int age; 私有字段
@Test
public void test4() throws Exception{
Person p = new Person();
Class clazz = Class.forName("cn.itcast.reflect.Person");
Field f = clazz.getDeclaredField("age");
f.setAccessible(true);
f.set(p, 123);
int result = (Integer) f.get(p);
System.out.println(result);
}
}
import java.lang.reflect.Field;
import org.junit.Test;
public class Demo4 {
/**反射类的字段
* @param args
* @throws Exception
*/
//反射:public String name;
@Test
public void test1() throws Exception{
Person p = new Person();
Class clazz = Class.forName("cn.itcast.reflect.Person");
Field f = clazz.getField("name"); //name
f.set(p, "flx");
System.out.println(p.getName());
}
//反射:public String name;
@Test
public void test2() throws Exception{
Person p = new Person();
p.setName("xxx");
Class clazz = Class.forName("cn.itcast.reflect.Person");
Field f = clazz.getField("name"); //name
String result = (String) f.get(p);
System.out.println(result);
}
//反射:public final String password = ""; //字段或成员变量
@Test
public void test3() throws Exception{
Person p = new Person();
Class clazz = Class.forName("cn.itcast.reflect.Person");
Field f = clazz.getField("password"); //name
String result = (String)f.get(p);
System.out.println(result);
}
//反射:private int age; 私有字段
@Test
public void test4() throws Exception{
Person p = new Person();
Class clazz = Class.forName("cn.itcast.reflect.Person");
Field f = clazz.getDeclaredField("age");
f.setAccessible(true);
f.set(p, 123);
int result = (Integer) f.get(p);
System.out.println(result);
}
}
相关文章推荐
- find_first_of
- Genymotion的shell的命令
- 反射1
- beanUtil工具
- Jaxp的dom解析
- 阮一峰:jQuery最佳实践
- 【读书笔记】iOS-引用计数
- 浅谈面向对象三大编程的特征
- 【读书笔记】iOS-引用计数
- Hibernate SQLQuery 原生SQL 查询及返回结果集处理-1
- 为什么加YY主播的微信要花钱?
- gethostbyaddr ip到名字,gethostbyname名字到ip依赖于hosts、DNS服务器
- Android dialog全屏显示
- 数据结构例程——线性表顺序存储的应用
- js setTimeout 和 setInterval实现多线
- Save vtkMatrix4x4 to a file 保存到文件
- 4 个开源的命令行邮件客户端
- ANDROID内存优化(大汇总——全)(转载)
- Firemonkey ListView 点击事件
- System.exit(0)和System.exit(1)区别