`
blueraining
  • 浏览: 1273 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

java反射(得到属性名,类型)

    博客分类:
  • java
阅读更多
//用来测试的javaBean

public class Test {

private int id;
private String stuName;

public Stu(){}
public Stu(int id,String stuName){
   this.id=id;
   this.stuName=stuName;
}
public void setAll(int id,String stuName){
   this.id=id;
   this.stuName=stuName;
}
public int getId() {
   return id;
}
public void setId(int id) {
   this.id = id;
}
public String getStuName() {
   return stuName;
}
public void setStuName(String stuName) {
   this.stuName = stuName;
}
public String toString(){
   return id+stuName;
}
}
//

public static void main(String[] args) throws ClassNotFoundException {

   Class cla=Class.forName("com.testBean.Test");
   //解析属性信息
   Field[] f=cla.getDeclaredFields();
   for (Field field : f) {
    System.out.println("属性="+field.toString());
    System.out.println("数据类型="+field.getType());
    System.out.println("属性名="+field.getName());
    int mod=field.getModifiers();
    System.out.println("属性修饰符="+Modifier.toString(mod));
   }
   //解析方法信息
   Method[] methodlist=cla.getDeclaredMethods();
   for (Method method : methodlist) {
    System.out.println("---------------");
    System.out.println("方法="+method.toString());
    System.out.println("方法名="+method.getName());
    int mod=method.getModifiers();
    System.out.println("方法修饰符="+Modifier.toString(mod));
    System.out.println("方法参数列表");
    Class pts[]=method.getParameterTypes();
    for (int i = 0; i < pts.length; i++) {
     Class class1 = pts[i];
     if(i!=0){
      System.out.println(class1);
     }
     System.out.println("返回类型"+method.getReturnType());
    }
   }
}

//result:

输入一个类名:
属性=private int com.testBean.Stu.id
数据类型=int
属性名=id
属性修饰符=private
属性=private java.lang.String com.testBean.Stu.stuName
数据类型=class java.lang.String
属性名=stuName
属性修饰符=private
---------------
方法=public void com.testBean.Stu.setAll(int,java.lang.String)
方法名=setAll
方法修饰符=public
方法参数列表
返回类型void
class java.lang.String
返回类型void
---------------
方法=public void com.testBean.Stu.setId(int)
方法名=setId
方法修饰符=public
方法参数列表
返回类型void
---------------
方法=public java.lang.String com.testBean.Stu.getStuName()
方法名=getStuName
方法修饰符=public
方法参数列表
---------------
方法=public void com.testBean.Stu.setStuName(java.lang.String)
方法名=setStuName
方法修饰符=public
方法参数列表
返回类型void
---------------
方法=public java.lang.String com.testBean.Stu.toString()
方法名=toString
方法修饰符=public
方法参数列表
---------------
方法=public int com.testBean.Stu.getId()
方法名=getId
方法修饰符=public
方法参数列表

//方法一
public static void mm(Class cla){
   Field[] fs=cla.getDeclaredFields();
   //fs=cla.getFields();加了这个的话就只获得public 公有的
   for (Field f : fs) {
    System.out.println(f.getName());
   }
}

//方法一输出结果:

id

stuName

分享到:
评论

相关推荐

    利用反射机制动态获取对象属性名称及数据类型

    接下来,我们创建一个名为`ReflectorClass`的辅助类,其中包含一个静态方法`getPropertyName`,这个方法接受一个对象实例作为参数,通过反射获取该对象的所有属性名及对应的类型,并返回一个字符串,每个属性名与...

    java反射获取所有属性,获取所有get方法,包括子类父类

    Java反射是Java编程语言中的一个强大工具,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。在Java中,反射主要用于在运行时分析类和对象,包括访问私有成员、调用私有方法、创建动态代理等。...

    java 反射得到某个方法

    通过反射,我们可以在不知道具体类名或方法名的情况下,动态地调用对象的方法或访问其属性。在本文中,我们将深入探讨如何使用Java反射来获取并执行某个特定的方法。 首先,我们需要了解Java反射的基本概念。`java....

    java 通过反射获取枚举类,及枚举类的值,枚举类枚举实例名

    枚举(Enumeration)是Java中的一个特殊类类型,用于定义一组常量。本项目"test-enum-demo-master"显然是一个用于演示如何通过反射来操作枚举类的示例。 首先,让我们理解枚举类的基本概念。枚举类在Java中用于定义...

    java 反射取得类的私有属性,通过私有属性取得属性值

    Java反射API提供了一系列类和接口,如`Class`、`Field`、`Method`等,它们让我们能够在运行时动态地获取类的信息,包括类的结构、方法签名以及字段等。这为编程提供了极大的灵活性,尤其是在处理第三方库或者进行元...

    Java反射学习.pdf

    Java 反射的能力在实际应用中非常有价值,例如,使用它能获得 Java 类中各成员的名称并显示出来。 Java 反射有很多实际应用,例如 JavaBean 就是 Reflection 的实际应用之一,它能让一些工具可视化的操作软件组件。...

    java反射机制学习(四):通过反射执行方法、操作属性、操作数组中的数据

    总结来说,Java反射机制提供了强大的动态类型功能,让我们能够在运行时检查类的信息,创建对象,调用方法,访问属性,以及操作数组。这种能力在很多场合都非常有用,如插件系统、代码生成、测试工具等。但同时,反射...

    Java反射机制 Java反射机制

    Java反射机制的主要作用包括:获取类的所有属性和方法、构造动态实例、调用类的方法等。通过反射,程序可以动态地创建对象和调用其方法,从而实现更灵活的功能。 #### 二、Java反射机制的由来与发展 Java反射机制...

    java反射机制及Method.invoke解释

    在 Java 反射机制中,我们可以通过 Method 对象的 invoke 方法来执行某对象的方法,这个方法的返回值是 Object 类型的,可以是基本类型、数组、集合等各种类型。 Java 反射机制提供了一种动态获取类信息和执行对象...

    java反射机制

    Java反射机制是Java语言提供的一种强大特性,它使得程序可以在运行时动态地获取类的信息并直接操作对象的内部属性和方法。这种能力使得Java具备了一种动态语言的灵活性。 #### 二、Java反射机制的功能 Java反射...

    JAVA反射详解

    ### JAVA反射详解 Java反射是Java编程语言的一个强大特性,允许程序在运行时检查和操作类、接口、字段和方法等。本文章旨在深入解析Java反射机制,包括其原理、应用以及常见用法。 #### 了解Class对象 在Java中,...

    java 反射对XML的解析

    Java反射机制是Java编程语言中一个强大的工具,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。在Java中,反射主要用于在运行时动态地获取类的信息(如类名、方法名、参数类型等)以及操作类...

    java反射详解

    ### Java反射机制详解 #### 一、引言 Java反射机制是Java编程语言的一个核心特性,它允许程序在运行时动态地访问类的信息,并能够直接操作这些类的对象。这种能力对于许多开发框架(如Spring)来说至关重要,因为...

    java反射机制详解

    ### Java反射机制详解 #### 一、反射机制是什么 反射机制是Java编程语言的一个核心特性,它允许程序在运行时动态地获取类的信息,并且能够动态地创建对象和调用对象的方法。简单来说,反射机制使得Java程序可以...

    dom4j 和java反射

    Java反射机制是Java语言的一个强大特性,允许运行中的Java程序获取类的信息(如类名、方法名、参数类型等)并进行操作。其主要用途包括: 1. **运行时检查类和接口**:可以动态地获取类的信息,如类的构造函数、...

    java反射实现Object转json

    Java反射是Java编程语言中的一个强大工具,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。在Java中,反射主要用于在运行时分析类和对象的信息,包括类名、方法名、参数类型等。对于"java...

    Java反射详解.pdf

    反射机制是Java语言中一个非常重要的特性,它允许程序在运行时通过特定的API动态地访问对象的属性和方法。反射机制是Java编程的强大工具之一,但它也带来了安全性和性能问题,因此需要谨慎使用。在Java中,反射主要...

    java反射获取参数.zip

    Java反射是Java编程语言中的一个强大工具,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。在Java 8中,反射机制得到了进一步的增强,使其在处理对象、方法和类时更加灵活。这个“java反射...

    android java反射,通过图片名获取图片

    Java反射是Java语言提供的一种能力,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。在Android中,这通常用于动态加载类、获取资源、执行私有方法等非正常途径的操作。 在Android中,资源如...

Global site tag (gtag.js) - Google Analytics