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();
      }
    
     }
    }

  • 相关阅读:
    372. Super Pow
    桌面远程连接:发生身份验证错误,要求的函数不受支持
    Web Service代理类生成工具
    Razor语法大全
    Web Serveice服务代理类生成及编译
    配置WCF Test Client
    我与春风皆过客,你携秋水揽星河
    机器学习(十三) 集成学习和随机森林(下)
    机器学习(十三) 集成学习和随机森林(上)
    机器学习(十二) 决策树(下)
  • 原文地址:https://www.cnblogs.com/lonely-buffoon/p/5574115.html
Copyright © 2011-2022 走看看