首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > Java > 候捷谈Java反射机制(4)
【标  题】:候捷谈Java反射机制(4)
【关键字】:Java
【来  源】:http://www.cublog.cn/u/19228/showart.php?id=132146

候捷谈Java反射机制(4)

LinkedList$ListItr

5-7:找出inner classes outer class

 

#001 Constructor cn[];

#002 cn = c.getDeclaredConstructors();

#003 for (int i = 0; i < cn.length; i++) {

#004    int md = cn[i].getModifiers();

#005    System.out.print(" " + Modifier.toString(md) + " " +

#006    cn[i].getName());

#007    Class cx[] = cn[i].getParameterTypes();

#008    System.out.print("(");

#009    for (int j = 0; j < cx.length; j++) {

#010        System.out.print(tName(cx[j].getName(), null));

#011        if (j < (cx.length - 1)) System.out.print(", ");

#012    }

#013    System.out.print(")");

#014 }

 

执行结果(例):

public java.util.LinkedList(Collection)

public java.util.LinkedList()

5-8a:找出所有constructors

 

#004 System.out.println(cn[i].toGenericString());

 

执行结果(例):

public java.util.LinkedList(java.util.Collection<? extends E>)

public java.util.LinkedList()

5-8b:找出所有constructors。本例在for 循环内使用toGenericString(),省事。

 

#001 Method mm[];

#002 mm = c.getDeclaredMethods();

#003 for (int i = 0; i < mm.length; i++) {

#004    int md = mm[i].getModifiers();

#005    System.out.print(" "+Modifier.toString(md)+" "+

#006    tName(mm[i].getReturnType().getName(), null)+" "+

#007    mm[i].getName());

#008    Class cx[] = mm[i].getParameterTypes();

#009    System.out.print("(");

#010    for (int j = 0; j < cx.length; j++) {

#011        System.out.print(tName(cx[j].getName(), null));

#012    if (j < (cx.length - 1)) System.out.print(", ");

#013    }

#014    System.out.print(")");

#015 }

 

执行结果(例):

public Object get(int)

public int size()

5-9a:找出所有methods

 

#004 System.out.println(mm[i].toGenericString());

 

public E java.util.LinkedList.get(int)

public int java.util.LinkedList.size()

5-9b:找出所有methods。本例在for 循环内使用toGenericString(),省事。

 

#001 Field ff[];

#002 ff = c.getDeclaredFields();

#003 for (int i = 0; i < ff.length; i++) {

#004    int md = ff[i].getModifiers();

#005    System.out.println(" "+Modifier.toString(md)+" "+

#006    tName(ff[i].getType().getName(), null) +" "+

#007    ff[i].getName()+";");

#008 }

 

执行结果(例):

private transient LinkedList$Entry header;

private transient int size;

5-10a:找出所有fields

 

#004 System.out.println("G: " + ff[i].toGenericString());

 

private transient java.util.LinkedList.java.util.LinkedList$Entry<E> ??

java.util.LinkedList.header

private transient int java.util.LinkedList.size

5-10b:找出所有fields。本例在for 循环内使用toGenericString(),省事。

 

找出class参用(导入)的所有classes

没有直接可用的

候捷谈Java反射机制(5):【上一篇】
候捷谈Java反射机制(3):【下一篇】
【相关文章】
  • 候捷谈Java反射机制(5)
  • 候捷谈Java反射机制(6)
  • 在java程序中执行dos命令或运行其他程序
  • Java程序员32问
  • java虚拟机保护内存的几个方法
  • java核心api标准权限
  • 没有打包的库,如何让java程序在运行时查找
  • Interfacing C with Java in Linux - The JNI Solutio
  • Oracle java存储过程在sqlplus中的调试信息显示
  • Email javascript 正则表达式
  • 【随机文章】
  • 用内联汇编调虚函数, 理解VTABLE原理
  • 有线电视宽带IP网流媒体平台的建设
  • 最新Viking(维金)病毒专杀工具,纯VB编写。
  • 在.net中我应该添加哪些LIB库文件呢???
  • 声道(音箱)如何播放. 对单声道声
  • 使用xml+jsp技术实现网页内容动态显示的方案(2)
  • Interview with Bill Joy
  • (C#)Windows Shell 编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令
  • Oracle9i初始化参数中文说明(7)
  • 无线局域网对实时业务的支持
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.