`

关于类的反射机制的实现

    博客分类:
  • jdk
阅读更多

就我目前看的资料有两种实现手段:
 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);
 }

}

 

分享到:
评论
2 楼 pro_ygw 2007-06-16  
呵呵,Reflect更容易理解
1 楼 cgc520 2007-06-14  
写得不错,真的很容易理解,我试过了,可以运行,以前没用过这种方法,觉得很新鲜.

相关推荐

    通过类反射机制实现底层数据库连接

    总之,通过类反射机制实现底层数据库连接,是Hibernate等ORM框架实现其功能的关键技术之一。它使我们能够在运行时动态地访问和操作类,极大地提高了代码的灵活性和可扩展性。熟练掌握反射机制,对于理解和应用ORM...

    C++反射机制实现

    在讨论C++反射机制实现的过程中,我们首先需要明确反射机制的概念和分类。反射的定义源自人工智能领域,它主要涉及到两种反射结构:结构反射和计算反射。结构反射侧重于元类与类之间的关系,计算反射则关注于计算...

    反射机制和类加载机制学习总结

    反射机制和类加载机制是Java编程语言中的两个重要概念。反射提供了强大的运行时元数据操作能力,而类加载机制则确保了类的安全加载和动态管理。深入理解这两个机制对于Java开发者来说至关重要,尤其对于那些从事框架...

    基于java8新特性+反射机制实现list不同实体类互转.zip

    这个压缩包文件“基于java8新特性+反射机制实现list不同实体类互转.zip”提供了一种解决方案,它利用了Java 8的新特性和反射机制来实现这种转换,并将这个功能封装为一个工具类。 首先,Java 8引入了许多新特性,...

    类的反射机制 常用的方法(简单明确)

    ### 类的反射机制及其常用方法 #### 反射机制简介 反射是Java语言的一个重要特性,它允许在运行时检查类、接口、字段和方法的信息,并且可以动态地调用方法或修改字段值。这种能力使得Java程序具有高度的灵活性和...

    Qt 反射机制实现,通过类名创建对象

    反射是指程序在运行时动态获取对象属性与...简单一点说,就是可以通过类名称来创建一个类对象,这在Java和Object-C中是原生支持的,所以实现起来非常简单,但是C++就不支持了,如果想要用到反射机制,那就得自己实现。

    通过反射机制实现动态表单

    本篇主要探讨如何利用反射机制实现动态表单,这在处理不确定数据结构或需要动态生成UI的场景中非常有用。 动态表单的实现通常涉及到以下几个关键知识点: 1. **Class类**: Java中的`java.lang.Class`类是每个类的...

    Java反射机制的实现_Reflection

    Java反射机制是Java编程语言中的一个强大特性,它允许程序在运行时检查和操作类、接口、对象等的内部信息。通过Java反射机制,开发者可以在不知道具体类名的情况下创建对象,调用方法,访问和修改私有成员变量,以及...

    Java中类的反射机制

    在Java中,反射机制主要通过java.lang.Class类和相关的类库来实现,它使得我们能够在运行时动态地获取类的信息(如类名、属性、方法等)并能创建和调用对象。 1. **类的加载与Class对象** 当Java虚拟机(JVM)加载一...

    Qt 使用QMetaObject实现反射机制代码demo

    综上所述,这个代码示例展示了如何利用Qt的QMetaObject系统实现反射机制,使程序在运行时能够动态地了解和操作类的成员。这在编写高度动态和灵活的代码,或者需要进行元编程的应用场景中非常有用。通过理解并应用...

    java反射机制工具类

    Java反射机制是Java编程语言中的一个强大特性,它允许程序在运行时检查和操作类、接口、字段和方法的信息。这个特性使得Java具备了高度的灵活性,能够在运行时动态地发现和使用类的属性和方法,即使这些信息在编译时...

    [反射机制]简单实现ORM

    在本案例中,"简单实现ORM"是指通过反射机制来实现对象关系映射(Object-Relational Mapping),这是一种将数据库中的数据与Java对象之间建立映射关系的技术,使得开发者可以更方便地操作数据库。 ORM的主要目的是...

    关于反射机制的面试题.

    在 Java 中,反射机制主要通过 `java.lang.reflect` 包中的类和方法来实现。例如,`Class.forName()` 方法可以用来获取一个类的 `Class` 对象,而 `getMethod()` 方法可以用来获取一个类的方法对象。 三、反射机制...

    类的反射机制您的网络连接,请

    Java中的反射机制是一种强大的工具,它允许程序在运行时检查和操作类、接口、字段和方法等对象。在Java 1.5引入的反射API使得开发者可以在编译期未知的情况下,动态地获取类的信息并执行相关操作。以下将详细介绍...

    java的类反射机制

    Java的类反射机制是Java程序开发中的一个重要特性,它允许程序在运行时检查自身结构,动态地访问和修改对象的属性和方法。反射的核心在于Java Reflection API,这是一组类和接口,使得开发者能够在运行时获取类的...

    java反射机制讲解

    Java反射机制是Java语言提供的一种强大的能力,它允许我们在运行时检查类的信息并动态地创建和操作对象。这种机制使得程序具有更高的灵活性和扩展性,尤其是在框架开发中有着广泛的应用。 首先,我们要理解反射的...

    C++实现反射机制

    在编程领域,反射机制是一种强大的特性,它允许程序在运行时检查自身的行为和结构,包括类、对象、方法等信息。通常,动态语言如Java和Python内置了反射机制,但C++作为静态类型语言,其标准库并没有提供直接的支持...

Global site tag (gtag.js) - Google Analytics