刚刚学到了反射,感觉反射的功能好强大,所以想写篇博客记录下自己的学习成果。

利用反射来创建对象。

Class c1=Class.forName("test.Person");//通过类名来创建类,这里test.person只是一个类名,。这个person类代码在//本文最下方

/**
*情况1:调用无参的构造方法来创建对象
*/
Person p=c1.newInstance();//这样就创建好了 /**
*情况2:调用有参构造方法
*/
Constructor cs=c1.getConstructor(String.class,int.class);//括号里面写的是构造方法的参数类型的类化,也就是后面加.class就好了
Person p=(Person) cs.newInstance("张三",22);//调用构造方法生成对象

利用反射来设置私有属性

    try {
Class clazz=Class.forName("testPerson");
Person p=(Person) clazz.newInstance();
Field f1=clazz.getDeclaredField("name");
f1.setAccessible(true);//设置是否可以操作私有属性
f1.set(p, "wfadf");
System.out.println(f1.get(p));
} catch (Exception e) {
// TODO Auto-generated catch block
throw new RuntimeException(e);
}

Person类代码

package test;

public class Person {
private String name;
private int age; public Person() { } public Person(String name, int age) { this.name = name;
this.age = age;
} public String getName() {
return name;
}
/*
public void setName(String name) {
this.name = name;
}*/ public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
} }

最新文章

  1. Ext.Net 学习随笔 003 超链接按钮
  2. Atitit prj 项目管理与行政管理(1)------项目环境的概览与建立
  3. AFNetworking request failed unacceptable content type text/html
  4. Js中的window.parent ,window.top,window.self 详解
  5. 快速求n的质因子(数论)
  6. 360随身wifi怎样购买?360随身wifi怎样预约?
  7. ArcScene三维制作
  8. 【关于php】Appserv中关于DW配置站点问题
  9. C#Socket编程socket.Connect权限出错问题及解决
  10. S - stl 的mapⅠ
  11. LeetCode OJ 108. Convert Sorted Array to Binary Search Tree
  12. Swagger 路径过滤 -PreSerializeFilters
  13. CF 427D Match & Catch 求最短唯一连续LCS
  14. Selenium常用操作汇总二——如何操作cookies(转)
  15. android 常用adb 及linux 命令
  16. [RHEL7.1]关闭防火墙及SElinux
  17. CRM 业务
  18. pthread中读写锁
  19. 关于MBR、GPT以及BIOS引导模式区分
  20. 7.0 启动app权限弹窗问题

热门文章

  1. UIView点击事件。弹出视图,背景虚化。
  2. C#和Java在重写上的区别
  3. 自定义 placeholder 文本颜色
  4. web兼容行探究1:IE 6 select节点显示在绝对布局之上的解决方法
  5. JQuery的一些简单操作01
  6. python简易爬虫来实现自动图片下载
  7. iOS按钮设置图片在上文字在下
  8. 缺少动态连接库.so--cannot open shared object file: No such file or directory
  9. 如何开启ubuntu的SSH服务
  10. Android中proc/meminfo的详解(原)