Thinking in Java 中尚未引入泛型概念
RTTI - run-time type identification
1. 每当编写并且编译了一个新类,就会产生一个Class对象(更恰当的说,是被保存在一个同名的.class文件中)
2. Class类的一些方法(*表示会抛出异常):
* static forName(String) 返回相应的Class类,注意字符串里要加上包名
* newInstance() 返回对应于该Class类的类的实例,注意该类必须有一个缺省构造器。
isInstance(Object) 返回该对象是否是Class类对应的类的实例(或子类)
getSuperClass() 返回直接父类的Class类
* getConstructors() 返回构造器,返回值是Constructor[]
* getFields() 返回字段,返回值是Field[]
* getMethods() 返回字段,返回值是Method[]
3. 类字面常量 (Class literals)
例如要获得Gum类的Class类就使用Gum.class
对于基本数据类型的wrapper类,还有一个标准字段TYPE,int.class和Integer.TYPE返回值一样,建议使用.class以保持一致。
4. Java希望我们始终使用多态机制,只在必需的时候使用RTTI。

posts - 403, comments - 310, trackbacks - 0, articles - 7
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

2.26 Java notes - Detecting Types

Posted on 2007-04-22 20:25 ZelluX 阅读(175) 评论(0)  编辑  收藏 所属分类: OOP
2007-02-26 21:56:01
只有注册用户登录后才能发表评论。


网站导航: