`
blueraining
  • 浏览: 1227 次
  • 性别: 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

分享到:
评论

相关推荐

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

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

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

    java反射获取所有属性,获取所有get方法,包括子类父类,以及包括List集合类

    Java高级程序设计实战教程第三章-Java反射机制.pptx

    3.2.1 Java反射机制的概念 Java反射机制在Java运行状态中,对于任意一个类,我们都能够知道这个类的所有属性和方法;, 对于任意一个对象,我们都能够调用它的任意一个方法;。 这种动态获取的信息以及动态调用对象...

    Java反射机制,通过对象访问调用类的私有成员或方法

    Java反射机制,万物皆对象,class也是一个类的对象,通过类类型,反射获得类的成员属性,构造方法,成员方法,并调用类中的方法,也可以调用私有方法。

    java反射总结实例详解

    主要结合实例形式分析了介绍了java基于反射得到对象属性值的方法,Class类,基本数据类型,类的反射等,需要的朋友可以参考下

    JAVA_API1.6文档(中文)

    java.lang.reflect 提供类和接口,以获得关于类和对象的反射信息。 java.math 提供用于执行任意精度整数算法 (BigInteger) 和任意精度小数算法 (BigDecimal) 的类。 java.net 为实现网络应用程序提供类。 java....

    java框架知识点汇总(反射,XML,设计模式,Redis缓存数据库)

    Java 反射机制是在运行状态中,对于任意一个类,都能够获得这个类的所有属性和方法,对于任意一个对象都能够调用它的任意一个属性和方法。这种在运行时动态的获取信息以及动态调用对象的方法的功能称为 Java 的反射...

    Java 1.6 API 中文 New

    java.lang.reflect 提供类和接口,以获得关于类和对象的反射信息。 java.math 提供用于执行任意精度整数算法 (BigInteger) 和任意精度小数算法 (BigDecimal) 的类。 java.net 为实现网络应用程序提供类。 java.nio ...

    java api最新7.0

    java.lang.reflect 提供类和接口,以获得关于类和对象的反射信息。 java.math 提供用于执行任意精度整数算法 (BigInteger) 和任意精度小数算法 (BigDecimal) 的类。 java.net 为实现网络应用程序提供类。 java.nio ...

    JavaAPI1.6中文chm文档 part1

    java.lang.reflect 提供类和接口,以获得关于类和对象的反射信息。 java.math 提供用于执行任意精度整数算法 (BigInteger) 和任意精度小数算法 (BigDecimal) 的类。 java.net 为实现网络应用程序提供类。 java....

    疯狂JAVA讲义

    第1章 Java概述 1 1.1 Java语言的发展简史 2 1.2 Java的竞争对手及各自优势 4 1.2.1 C#简介和优势 4 1.2.2 Ruby简介和优势 4 1.2.3 Python的简介和优势 5 1.3 Java程序运行机制 5 1.3.1 高级语言的运行机制 6...

    Java-JDK、数据库系统开发、Web开发学习笔记

    3. Java反射机制:反射机制允许程序在运行时透过Reflection API取得任何一个已知名称的class类的内部信息,包括其修饰符、父类类型、实现接口interface、属性字段、方法,并可以在运行时改变属性内容和调用方法。...

    java jdk实列宝典 光盘源代码

    12反射 是java程序开发的特征之一,允许java程序对自身进行检查,并能直接操作程序的内部属性; instanceof操作符,instanceof.java; 获取类的信息,ViewClassInfoJrame.java; 动态调用类的方法,CallMetod.java; ...

    java 编程入门思考

    5.1.1 创建独一无二的包名 5.1.2 自定义工具库 5.1.3 利用导入改变行为 5.1.4 包的停用 5.2 Java访问指示符 5.2.1 “友好的” 5.2.2 public:接口访问 5.2.3 private:不能接触 5.2.4 protected:“友好的一种” 5.3...

    JavaAPI中文chm文档 part2

    java.lang.reflect 提供类和接口,以获得关于类和对象的反射信息。 java.math 提供用于执行任意精度整数算法 (BigInteger) 和任意精度小数算法 (BigDecimal) 的类。 java.net 为实现网络应用程序提供类。 java....

    java jdk-api-1.6 中文 chmd

    java.lang.reflect 提供类和接口,以获得关于类和对象的反射信息。 java.math 提供用于执行任意精度整数算法 (BigInteger) 和任意精度小数算法 (BigDecimal) 的类。 java.net 为实现网络应用程序提供类。 java....

    Java初学者入门教学

    5.1.1 创建独一无二的包名 5.1.2 自定义工具库 5.1.3 利用导入改变行为 5.1.4 包的停用 5.2 Java访问指示符 5.2.1 “友好的” 5.2.2 public:接口访问 5.2.3 private:不能接触 5.2.4 protected:“友好的一种” 5.3...

    java联想(中文)

    5.1.1 创建独一无二的包名 5.1.2 自定义工具库 5.1.3 利用导入改变行为 5.1.4 包的停用 5.2 Java访问指示符 5.2.1 “友好的” 5.2.2 public:接口访问 5.2.3 private:不能接触 5.2.4 protected:“友好的一种” 5.3...

Global site tag (gtag.js) - Google Analytics