Reflection是Java被视为动态(或准动态)语言的一个关键性质。这个机制允许程序在运行时透过Reflection APIs取得任何一个已知名称的class的内部信息,包括其modifiers(诸如public,static等等),superclass(例如Object),实现之interfaces(例如Cloneable),也包括fields和methods的所有信息。并可以运行时改变fields内容或唤起methods。
程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言,从这观点看,Perl,Python,Ruby是动态语言,而C++,Java,C#是动态语言。
尽管在这样的定义下与分类下Java不是动态语言,它确实有着一个非常突出的动态相关机制:Reflection(反射,映象,倒影),用在Java身上指的是我们可以在运行时加载,探知,使用编译期间完全未知的class。
posted on 2007-07-06 11:54
周锐 阅读(264)
评论(0) 编辑 收藏 所属分类:
Java