zoukankan      html  css  js  c++  java
  • 通过Class对象找到成员变量,方法和构造器

    import java.lang.reflect.*;
    
    public class ClassDemo
    {
     public static void main(String[] args) 
     {
      System.out.println("****************getClass()的例子*******************
    ");
      String name="john";
      //获得name对象的Class实例
      Class stringClass=name.getClass();
      //下面可以用stringClass实例获取name对象的相关信息,可以看API文档,这里只举两个方法
      System.out.println("name对象的类型:"+stringClass.getName());
      System.out.println("name对象的父类:"+stringClass.getSuperclass().getName());
    
    System.out.println("
    ****************forName()的例子*******************
    ");
      //举forName()的例子
      //动态加载java.util.ArrayList类
      //得到类的Class实例后利用Class的方法取得类相关信息
      //里面有好多方法我就不解释了,你可以参考API文档
      try
      {
       Class c=Class.forName("java.util.ArrayList");
       int mod=c.getModifiers();
       System.out.print(Modifier.toString(mod));
       if(Modifier.isInterface(mod))
        System.out.print(" interface");
       else
        System.out.print(" class ");
       System.out.println(c.getName()+"{");
    
       System.out.println("	//********成员变量**********");
    
       Field[] field=c.getDeclaredFields();
       for(Field f:field)
       {
        System.out.print("	"+Modifier.toString(f.getModifiers()));
        System.out.print(" "+f.getType().getName());
        System.out.println(" "+f.getName()+";");
       }
       System.out.println("	//********构造方法**********");
    
       Constructor[] constructor=c.getDeclaredConstructors();
       for(Constructor con:constructor)
       {
        System.out.print("	"+Modifier.toString(con.getModifiers()));
        System.out.println(" "+con.getName()+"();");
       }
       System.out.println("	//*********成员方法*************");
       Method[] method=c.getDeclaredMethods();
       for(Method mhd:method)
       {
        System.out.print("	"+Modifier.toString((mhd.getModifiers())));
        System.out.print(" "+mhd.getReturnType().getName());
        System.out.println(" "+mhd.getName()+"()");
       }
       System.out.println("}");
      }
      catch(Exception e)
      {
       e.printStackTrace();
      }
    
     }
    }

  • 相关阅读:
    不定义JQuery插件,不要说会JQuery
    .net深入体验与实战精要--ASP.NET开发大杂烩(转)
    iis7/7.5设置上传文件最大大小
    javascript禁止复制网页内容,兼容三大浏览器
    如何将控制台程序包装成windows服务
    Js获取当前日期时间及其它操作
    JS控制图片拖动 放大 缩小 旋转 支持滚轮放大缩小 IE有效
    js实用功能
    zen-Coding的使用
    使用 MyEclipse远程调试 Java 应用程序
  • 原文地址:https://www.cnblogs.com/lonely-buffoon/p/5574115.html
Copyright © 2011-2022 走看看