- 浏览: 571657 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (253)
- java (84)
- python (22)
- 设计模式 (12)
- 数据结构和算法 (7)
- ibatis (1)
- 数据挖掘 (2)
- 集体智慧读书笔记 (1)
- ubuntu (4)
- lucene (11)
- 算法 第4版 (11)
- apache mina (16)
- memcached (1)
- android (9)
- netty (6)
- mongodb (2)
- maven (2)
- openfire (2)
- 服务端 (21)
- 产品 (0)
- apache (1)
- 选择 (2)
- 构架WEB高性能站点 (7)
- redis (8)
- 诗词歌赋 (3)
- 源代码阅读 (5)
- 前端 (1)
- javascript (3)
- guice (1)
- 分布式 (5)
- 总结-2014 (4)
- jvm (1)
最新评论
-
liu_jiaqiang:
写的挺好
maven多项目管理 -
H972900846:
我想知道哪里整的,如果是自己写的,那有点牛呀如果是抄的请说明出 ...
SSL身份认证原理 -
春天好:
博主写的很好,赞一个,多谢分享 *(^-^*)分享一个免费好用 ...
定向网站爬虫---初级例子 -
fenglingabc:
经过测试,parameterType="java.u ...
mybatis获取主键和存储过程返回值 -
jyghqpkl:
[u][/u] ...
Cookie的secure 属性
1:Class<?> ,Class对象时所有类可以实例化出来,多用来反射,得到该类的全部信息
其中?表示,无限参数和类型,避免类型转换
2:实列
首页定义一个Person类
package com.domain; public class Person { private String name; private String age; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } public String toString(){ StringBuffer sb = new StringBuffer(); sb.append("<name>").append(name).append("</name>"); sb.append("<age>").append(age).append("</age>"); return sb.toString(); } }
2:用反射来实例化Person类,操作该类的属性,方法。
package com.reflect; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Modifier; import com.domain.Person; public class Reflect { public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException, SecurityException, NoSuchMethodException, IllegalArgumentException, InvocationTargetException { Class<?> demo = null; //所有类的对象其实都是Class类的实列 demo = Class.forName("com.domain.Person");//得到Person类的Class类对象(尽量用这种方式) // demo = new Person().getClass(); 方法2 //demo = Person.class; Person p = (Person) demo.newInstance();//用类名得到person对象 //拿到本类的所有属性信息,如果实取得父类和实现接口的属性用demo.getFields()方法 Field[] field = demo.getDeclaredFields(); for (int i = 0; i < field.length; i++) { //权限修饰符 int mo = field[i].getModifiers(); String priy = Modifier.toString(mo); //属性类型 Class<?> type = field[i].getType(); System.out.println("属性的权限--" + priy + " 属性的类型---" + type.getName() + " 属性名---" + field[i].getName()); } /* * 調用改Person對象的方法 */ Object ob = null; ob = demo.newInstance(); pset(ob,"Age","11111",String.class); Pget(ob,"Age"); } private static void Pget(Object ob, String att) throws SecurityException, NoSuchMethodException, IllegalArgumentException, IllegalAccessException, InvocationTargetException { Method method = ob.getClass().getMethod("get"+att); System.out.println(method.invoke(ob)); } private static void pset(Object ob, String att, Object value, Class<?> type) throws SecurityException, NoSuchMethodException, IllegalArgumentException, IllegalAccessException, InvocationTargetException { Method method = ob.getClass().getMethod("set"+att,type); method.invoke(ob, value); } }
结果:
属性的权限--private 属性的类型---java.lang.String 属性名---name 属性的权限--private 属性的类型---java.lang.String 属性名---age 11111
发表评论
-
protobuf-dt插件
2015-03-24 13:16 1368protobuf-dt: 安装前先安装xtext 可 ... -
java循环标签
2015-03-20 16:13 564今天看 源码的时候 看到 一个小语法 参考: ... -
java程序性能优化 --阅读
2014-10-14 17:56 670闲着,真实无聊; 发现一本好书《java程序性能优 ... -
jetty invalid entry CRC问题
2014-08-04 11:42 15321: http://stackoverflow.com/qu ... -
guice注入
2014-05-24 12:13 9399Google Guice3.0: http://code. ... -
eclipse快捷键
2014-05-21 16:01 5331: clrl+alt+r : 最常用,快速定位到文件 2 ... -
java clone
2014-05-16 17:04 491转:http://www.blogjava.net/ora ... -
ThreadLocal
2014-05-13 18:39 731简单介绍一下ThreadLocal的原理:1.Thread ... -
hession
2014-04-30 12:33 656一、首先先说Hessian是什么? Hessian:he ... -
冒泡和快速排序java
2014-04-19 18:01 7141: 冒泡最简单一种: /** * 算法效率o ... -
java生产者和消费者模型三种实现
2014-04-19 17:51 13351: 生产者和消费者的问题,生产者生产产品到缓冲区,消费者 ... -
单例模式
2014-03-14 16:06 712今天看到群里,关于单例模式的多线程下的安全问题: 1:最 ... -
freemarker的使用
2014-02-28 16:42 7991:freemarker eclipse插件安装方法:ht ... -
java 引用类型和内存泄露
2013-11-21 17:48 555http://blog.csdn.net/luoshenfu ... -
java泛型
2013-11-07 13:52 401Class<T>在实例化的时候,T要替换成具体 ... -
filter执行顺序
2013-10-12 11:16 1098多个筛选器的运行顺序取决于下列规则: 将 filt ... -
spring rmi远程调用
2013-09-09 11:48 11451:以前用jmi发布服务,实现分布式的一种方式,远程调用, ... -
spring mvc返回204状态码
2013-07-24 09:27 38821:204是没内容 不跳转的 代表请求成功的意思 ... -
editplus去掉多余空行
2013-07-19 21:05 6971: ^[ \t]*\n 用正则表达式替换 -
spring3 aop 使用详细
2013-06-06 11:10 01:目标:拦截所有的@Controller中的方法 ...
相关推荐
JAVA设计模式--程序设计--反射--注解--泛型
JAVA反射机制-Class类-Class对象的获取.pdf
反射实例-JAVA反射机制.doc反射实例-JAVA反射机制.doc反射实例-JAVA反射机制.doc反射实例-JAVA反射机制.doc反射实例-JAVA反射机制.doc反射实例-JAVA反射机制.doc反射实例-JAVA反射机制.doc反射实例-JAVA反射机制.doc...
JAVA基础--JAVA中的反射机制详解:本文档详细的介绍了Java的反射API的应用,希望能对各有所帮助
Java 第三阶段增强分析需求,代码实现能力【反射】---- 代码 Java 第三阶段增强分析需求,代码实现能力【反射】---- 代码 Java 第三阶段增强分析需求,代码实现能力【反射】---- 代码 Java 第三阶段增强分析需求,...
java(教学0)韩建雷java反射机制-relea.ppt
Java反射机制-PDF文档,详述了反射机制的原理和使用方法,通俗易懂。
java基础,反射枚举基础,自己总结的笔记。
java基础教程----精华版,不得不下载的资源
mysql-connector-java-5.1.7-bin.jar,MySQL的jdbc的驱动
Java反射机制,比较简洁但是还是挺有用的,较全面PPT
而不是创建一个Object列表,你可以参数化java.util.List来创建一个String String列表,如下所示:当通过反射在运行时检查可参数化类型本
mysql-connector-java-5.1.42-bin.jar 官网下载的驱动
5.6.20 最新JDBC mysql-connector-java-5.1.32-bin.jar
mysql-connector-java-5.1.40-bin.jar连接器,用于在hive和mysql的数据库连接
mysql驱动包 mysql-connector-java-5.1.13-bin.jar 方便快捷获取。。。
Reflection是Java 程序开发语言的特征之一,它允许运行中的 Java 程序对自身进行检查,或者说"自审",并能直接操作程序的内部属性。例如,使用它能获得 Java 类中各成员的名称并显示出来。
mysql-connector-java-5.1.30-bin.jar 最新的mysql jdbc
java-反射机制-源码
NULL 博文链接:https://stephen830.iteye.com/blog/256723