就我目前看的资料有两种实现手段:
1)利用java.lang.reflect.*中的类和接口,相信大家都很熟啦!
2)主要是利用java.beans.*中的BeanInfo接口和Introsepector类,Demo如下:
操作的JAVABEAN:
package me.jdk.reflect;
public class JavaBean {
private String name;
private String password;
/**
* @return Returns the name.
*/
public String getName() {
return name;
}
/**
* @param name The name to set.
*/
public void setName(String name) {
this.name = name;
}
/**
* @return Returns the password.
*/
public String getPassword() {
return password;
}
/**
* @param password The password to set.
*/
public void setPassword(String password) {
this.password = password;
}
/**
*
*/
public JavaBean() {
// TODO Auto-generated constructor stub
}
}
实现内现的类:
/**
*
*/
package me.jdk.reflect;
import java.beans.BeanDescriptor;
import java.beans.BeanInfo;
import java.beans.IntrospectionException;
import java.beans.Introspector;
import java.beans.MethodDescriptor;
import java.beans.PropertyDescriptor;
import java.util.Enumeration;
/**
* 功能描述:实现Introsepector
* @create on: 2006-12-15
*/
public class MyReflect<E> {
/**
*
*/
public MyReflect() {
// TODO Auto-generated constructor stub
}
public void testReflect(Class cls) {
BeanInfo info = null;
try {
info = Introspector.getBeanInfo(cls,Object.class);
PropertyDescriptor[] properties = info.getPropertyDescriptors();
for(int i = 0; i < properties.length; i++ )
System.out.println("properties["+i+"].getName()"+properties[i].getName());
MethodDescriptor[] methods = info.getMethodDescriptors();
for(int j = 0; j < methods.length; j++)
System.out.println("methods["+j+"].getName()"+methods[j].getName());
}
} catch (IntrospectionException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/*
*@return_type void
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
MyReflect reflect = new MyReflect();
reflect.testReflect(me.jdk.reflect.JavaBean.class);
}
}
分享到:
相关推荐
总之,通过类反射机制实现底层数据库连接,是Hibernate等ORM框架实现其功能的关键技术之一。它使我们能够在运行时动态地访问和操作类,极大地提高了代码的灵活性和可扩展性。熟练掌握反射机制,对于理解和应用ORM...
在讨论C++反射机制实现的过程中,我们首先需要明确反射机制的概念和分类。反射的定义源自人工智能领域,它主要涉及到两种反射结构:结构反射和计算反射。结构反射侧重于元类与类之间的关系,计算反射则关注于计算...
反射机制和类加载机制是Java编程语言中的两个重要概念。反射提供了强大的运行时元数据操作能力,而类加载机制则确保了类的安全加载和动态管理。深入理解这两个机制对于Java开发者来说至关重要,尤其对于那些从事框架...
这个压缩包文件“基于java8新特性+反射机制实现list不同实体类互转.zip”提供了一种解决方案,它利用了Java 8的新特性和反射机制来实现这种转换,并将这个功能封装为一个工具类。 首先,Java 8引入了许多新特性,...
### 类的反射机制及其常用方法 #### 反射机制简介 反射是Java语言的一个重要特性,它允许在运行时检查类、接口、字段和方法的信息,并且可以动态地调用方法或修改字段值。这种能力使得Java程序具有高度的灵活性和...
本篇主要探讨如何利用反射机制实现动态表单,这在处理不确定数据结构或需要动态生成UI的场景中非常有用。 动态表单的实现通常涉及到以下几个关键知识点: 1. **Class类**: Java中的`java.lang.Class`类是每个类的...
Java反射机制是Java编程语言中的一个强大特性,它允许程序在运行时检查和操作类、接口、对象等的内部信息。通过Java反射机制,开发者可以在不知道具体类名的情况下创建对象,调用方法,访问和修改私有成员变量,以及...
在Java中,反射机制主要通过java.lang.Class类和相关的类库来实现,它使得我们能够在运行时动态地获取类的信息(如类名、属性、方法等)并能创建和调用对象。 1. **类的加载与Class对象** 当Java虚拟机(JVM)加载一...
综上所述,这个代码示例展示了如何利用Qt的QMetaObject系统实现反射机制,使程序在运行时能够动态地了解和操作类的成员。这在编写高度动态和灵活的代码,或者需要进行元编程的应用场景中非常有用。通过理解并应用...
反射是指程序在运行时动态获取对象属性与...简单一点说,就是可以通过类名称来创建一个类对象,这在Java和Object-C中是原生支持的,所以实现起来非常简单,但是C++就不支持了,如果想要用到反射机制,那就得自己实现。
Java反射机制是Java编程语言中的一个强大特性,它允许程序在运行时检查和操作类、接口、字段和方法的信息。这个特性使得Java具备了高度的灵活性,能够在运行时动态地发现和使用类的属性和方法,即使这些信息在编译时...
在本案例中,"简单实现ORM"是指通过反射机制来实现对象关系映射(Object-Relational Mapping),这是一种将数据库中的数据与Java对象之间建立映射关系的技术,使得开发者可以更方便地操作数据库。 ORM的主要目的是...
在 Java 中,反射机制主要通过 `java.lang.reflect` 包中的类和方法来实现。例如,`Class.forName()` 方法可以用来获取一个类的 `Class` 对象,而 `getMethod()` 方法可以用来获取一个类的方法对象。 三、反射机制...
Java中的反射机制是一种强大的工具,它允许程序在运行时检查和操作类、接口、字段和方法等对象。在Java 1.5引入的反射API使得开发者可以在编译期未知的情况下,动态地获取类的信息并执行相关操作。以下将详细介绍...
Java的类反射机制是Java程序开发中的一个重要特性,它允许程序在运行时检查自身结构,动态地访问和修改对象的属性和方法。反射的核心在于Java Reflection API,这是一组类和接口,使得开发者能够在运行时获取类的...
Java反射机制是Java语言提供的一种强大的能力,它允许我们在运行时检查类的信息并动态地创建和操作对象。这种机制使得程序具有更高的灵活性和扩展性,尤其是在框架开发中有着广泛的应用。 首先,我们要理解反射的...
在编程领域,反射机制是一种强大的特性,它允许程序在运行时检查自身的行为和结构,包括类、对象、方法等信息。通常,动态语言如Java和Python内置了反射机制,但C++作为静态类型语言,其标准库并没有提供直接的支持...