ReflectObject.java
上传用户:whbcdz
上传日期:2008-08-04
资源大小:7683k
文件大小:2k
源码类别:

JavaScript

开发平台:

Java

  1. package appjxc.constrol;
  2. import appjxc.model.Obj_gys;
  3. import java.lang.reflect.*;
  4. public class ReflectObject {
  5.     static Obj_gys objgys = new Obj_gys();
  6.     public  static void printMethods(Class c1){
  7.         System.out.println("class " + c1.getName());
  8.         Method[] method = c1.getDeclaredMethods();
  9.         for(int i = 0 ; i < method.length ; i++){
  10.             Method m = method[i];
  11.             Class retype = m.getReturnType();
  12.             String name = m.getName();
  13.             System.out.print(Modifier.toString(m.getModifiers()));
  14.             System.out.print(" " + retype.getName() + " " + name +"(");
  15.             Class[] param = m.getParameterTypes();
  16.             for(int j = 0 ; j < param.length ; j++){
  17.                 if(j > 0) System.out.print(",");
  18.                 System.out.print(param[j].getName());
  19.             }
  20.             System.out.println(")");
  21.         }
  22.     }
  23.     public static void printFields(Class c1){
  24.         Field[] fields = c1.getDeclaredFields();
  25.         for(int i = 0 ; i < fields.length ; i++){
  26.             Field f = fields[i];
  27.             Class type = f.getType();
  28.             String name = f.getName();
  29.             try{
  30.                 String mm = f.get(objgys).toString();
  31.                 System.out.println(mm);
  32.             }catch(java.lang.IllegalAccessException ill){
  33.                 ill.printStackTrace();
  34.             }
  35.             System.out.print(Modifier.toString(f.getModifiers()));
  36.             System.out.println(" " + type.getName() + " " + name + ";");
  37.         }
  38.     }
  39.     public static void main(String[] args) {
  40.         ReflectObject reflectobject = new ReflectObject();
  41.         objgys.setGysbh("001");
  42.         objgys.setGysmc("长春制药厂");
  43.         objgys.setGysdz("长春市高薪区25号");
  44.         objgys.setPym("CC");
  45.         objgys.setSsdq("吉林省长春市");
  46.         objgys.setTel("0431-8545236");
  47.         objgys.setLxr("吕海涛");
  48.         objgys.setKhyh("交通银行");
  49.         objgys.setKhzh("60142820358820808");
  50.         printMethods(objgys.getClass());
  51.         printFields(objgys.getClass());
  52.     }
  53. }