- package com.whbs.bean;
- public class UserBean {
- private Integer id;
- private int age;
- private String name;
- private String address;
- public UserBean(){
- System.out.println("实例化");
- }
- public Integer getId() {
- return id;
- }
- public void setId(Integer id) {
- this.id = id;
- }
- public int getAge() {
- return age;
- }
- public void setAge(int age) {
- this.age = age;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public String getAddress() {
- return address;
- }
- public void setAddress(String address) {
- this.address = address;
- }
- }
- 2 > 反射测试
- package com.whbs.test;
- import java.lang.reflect.Field;
- import java.lang.reflect.Method;
- import com.whbs.bean.UserBean;
- public class Test1 {
- public static void main(String[] args) throws Exception {
- /*
- * 实列化类 方法1
- */
- //String classPath = "com.whbs.bean.UserBean";
- //Class cla = Test1.class.getClassLoader().loadClass(classPath);
- //Object ob = cla.newInstance();
- /*
- * 实列化类 方法2
- */
- UserBean bean = new UserBean();
- bean.setId(100);
- bean.setAddress("武汉");
- //得到类对象
- Class userCla = (Class) bean.getClass();
- /*
- * 得到类中的所有属性集合
- */
- Field[] fs = userCla.getDeclaredFields();
- for(int i = 0 ; i < fs.length; i++){
- Field f = fs[i];
- f.setAccessible(true); //设置些属性是可以访问的
- Object val = f.get(bean);//得到此属性的值
- System.out.println("name:"+f.getName()+"\t value = "+val);
- String type = f.getType().toString();//得到此属性的类型
- if (type.endsWith("String")) {
- System.out.println(f.getType()+"\t是String");
- f.set(bean,"12") ; //给属性设值
- }else if(type.endsWith("int") || type.endsWith("Integer")){
- System.out.println(f.getType()+"\t是int");
- f.set(bean,12) ; //给属性设值
- }else{
- System.out.println(f.getType()+"\t");
- }
- }
- /*
- * 得到类中的方法
- */
- Method[] methods = userCla.getMethods();
- for(int i = 0; i < methods.length; i++){
- Method method = methods[i];
- if(method.getName().startsWith("get")){
- System.out.print("methodName:"+method.getName()+"\t");
- System.out.println("value:"+method.invoke(bean));//得到get 方法的值
- }
- }
- }
- }
- 浏览: 55394 次
文章分类
最新评论
发表评论
-
soap学习笔记(六)----使用Axis2传输附件(AXIS2 MTOM) (下)
2015-07-30 15:49 05.测试 FileTransferClient.java ... -
soap学习笔记(六)----使用Axis2传输附件(AXIS2 MTOM) (上)
2015-07-30 15:48 1072本文介绍如何使用Axis2传递附件。 1.工作环 ... -
j2ee web service开发--SAAJ 带附件的soap消息
2015-07-30 15:26 620带附件的soap消息api,其内容很丰富,它是一个允许用so ... -
soap学习笔记(三)-----用Axis2进行SOA开发:了解Axis2基础
2015-07-30 15:14 475Apache Axis2 是 Apache Axis SOA ... -
soap学习笔记(二)-----soap入门篇
2015-07-30 15:12 482SOAP的全称是Simple Object ... -
soap学习笔记(一)-----soap简介
2015-07-30 15:08 492最近在做一个数据同步的功能,涉及用到了soap协议的一些知识 ... -
(转)WebService之WSDL和SOAP实例(基于JAVA)
2015-07-22 16:23 2260开发环境:jdk1.6 + Tomcat 6.0.18 + ... -
jQuery选择器总结 (转)
2015-05-07 10:18 353jQuery 的选择器可谓之强大无比,这里简单地总结一下常 ... -
学习Spring必学的Java基础知识(6)----ThreadLocal .(转)
2015-01-21 10:17 492引述要学习Spring框架的技术内幕,必须事先掌握一些基本 ... -
Hibernate框架]Hql语句in中带参数的写法 (转)
2015-01-20 11:45 555最近遇到两次在hql的in中传递参数的问题,最初让我纠结万 ... -
SusTransServiceImpl草稿
2015-01-15 16:09 0package org.work.web.service.i ... -
Java 提高系统性能(转)
2015-01-06 11:27 377首先是从三方面来提高的,应用层面,服务器端层面,数据库层面。 ... -
解压zip包或者rar包工具类
2015-01-06 11:19 943package com.ylink.util; imp ... -
JS中&&和||用法
2014-12-22 10:53 591&&和||在JQuery源代码内尤为使用广 ... -
Java连接DB2
2014-12-17 15:56 602这里先说一下,DB2和JD ... -
XML 和 java对象相互转换 (转)
2014-12-01 14:29 511下面使用的是JDK自带的类,没有引用任何第三方jar包 ... -
如何由XSD自动生成XML和实体类
2014-11-27 17:10 829项目中有时候要用XML作为数据源,因此需要定义XML文件和相 ... -
Aviator——开源轻量级、高性能的表达式求值器 (转)
2014-11-27 11:06 1070一、轮子的必要性 表达式的求值上,java的选择非 ... -
jquery validate.js表单验证的基本用法入门(转)
2014-10-27 14:37 725jquery.validate.js是jquery下的一个验 ... -
java清理指定目录下的空文件夹
2014-09-02 10:51 564import java.io.File; import j ...
相关推荐
这些`Field`对象提供了设置和获取字段值的能力,通过`set()`和`get()`方法。 ```java Class<?> clazz = Class.forName("com.example.YourClass"); Field[] fields = clazz.getDeclaredFields(); for (Field ...
总结,Java反射机制为我们提供了强大的动态性,能够方便地获取和操作类的属性和方法,包括私有成员和子类父类中的成员。通过熟练掌握反射技术,开发者可以实现更灵活、更动态的代码,但也需要谨慎使用,以避免潜在的...
总结起来,Java反射为我们提供了在运行时操作类、方法和属性的强大工具,包括调用私有方法和获取私有属性值。然而,它也是一把双刃剑,使用时需权衡利弊,确保代码的稳定性和安全性。在处理私有成员时,务必注意对...
在Java编程语言中,反射(Reflection)是一种...通过阅读和分析这个文件,你可以更深入地理解如何利用反射来获取和设置私有属性的值。在实际学习中,你可以尝试运行这个程序,观察其输出,以便更好地掌握反射的用法。
通过上述示例,我们了解了如何使用Java反射机制来获取父类的所有属性和方法。这种方法非常灵活,适用于许多不同的场景,如框架开发、测试工具等。需要注意的是,虽然反射功能强大,但在生产环境中应谨慎使用,因为它...
这些代码可能包括创建枚举类,然后通过反射获取枚举值、实例名以及演示如何使用`getDeclaredConstructor()`和`newInstance()`方法来访问私有构造函数(虽然这不是常规用法)。 通过深入理解这些概念,你可以更好地...
在这篇文章中,我们将通过一个实用的例子来展示如何使用Java反射机制来获取对象的属性和值。 在Java中,反射机制是通过java.lang.reflect包中的类和接口来实现的。其中,Class类是反射机制的核心,通过它可以获取类...
Java反射是Java编程语言中的一个强大工具,它...总结起来,Java反射允许我们在运行时检查和操作代码,包括修改注解的属性值,但这需要谨慎使用。同时,了解Web开发中的会话管理和函数式接口是提升Java编程能力的关键。
`Field.get()`和`Field.set()`分别用于读取和设置字段值。 5. **Annotations(注解)处理**:反射还可以用来读取类、方法、字段上的注解,这在处理元数据或实现AOP(面向切面编程)时非常有用。 6. **动态代理**:...
5. 动态调用方法和设置/获取属性值: 一旦我们有了`Method`或`Field`对象,就可以在运行时动态地调用方法或设置/获取属性值: ```java Object obj = ...; // 父类实例 method.invoke(obj, parameters); // 调用...
- **访问和修改属性值**:使用`Field`的`get(Object obj)`和`set(Object obj, Object value)`方法可以读取和设置Bean实例的属性值。 - **遍历getter和setter**:`Class.getMethod(String name, Class<?>... ...
反射获取属性和调用方法是其核心功能,广泛应用于框架设计、动态代理、插件机制等领域。下面将详细解释这两个概念。 1. 反射获取属性: 在Java中,`java.lang.reflect`包提供了`Class`类来获取类的信息,包括其...
java反射获取一个object属性值代码解析 java反射获取一个object属性值代码解析是java编程中一个非常重要的知识点,通过反射机制,可以动态地获取一个object的属性值,无需提前知道该对象的类型。下面将详细介绍java...
- 之后可以通过`getField().get(obj)`获取属性值,或者通过`getField().set(obj, value)`设置属性值。 ```java Field field = clazz.getDeclaredField("myPrivateField"); field.setAccessible(true); String ...
通过上述示例,我们可以看到如何利用Java反射机制获取一个类中的所有属性及其对应的值。这种方法非常适用于动态配置或解析对象的场景。需要注意的是,虽然反射提供了强大的功能,但它也存在一定的性能开销,因此在...
Java反射是Java编程语言中的一个强大特性,它允许在运行时检查类、接口、字段和方法的信息,并且能够在运行时动态地创建对象和调用方法。这个特性使得Java具有了高度的灵活性,常用于框架开发、插件系统、元编程等...
利用反射获取实例化类的属性值和属性值!很实用,直接复制到控制台就行了!
4. 获取和设置属性值: - 获取属性值:`Object value = field.get(obj);` - 设置属性值:`field.set(obj, newValue);` 5. 调用方法: - `Object result = method.invoke(obj, args);`调用无参方法。 - 对于带...
1.通过Java反射机制获取JavaBean对象。 2.通过JavaBean全路径字符串获取JavaBean对象。 3.获取JavaBean注解信息
Java 反射机制是 Java 语言提供的一种强大的工具,它允许程序在运行时动态地获取类的信息(如类名、属性、方法等)并进行操作。这种能力使得 Java 应用程序更加灵活,能够在运行时发现和修改自身的行为。然而,反射...