Java程序可以加载一个运行时才得知名称的class,获悉其完整结构(但不包括methods定义),并生成其对象实体、或对其属性设值、或调用其methods。这种“看透class”的能力(the ability of the program to examine itself)被称为introspection。
另外我不觉得对java beans跟封装的关系不大。封装是transation的基础,可以被复用和防止直接操作,对外属性不可见,另外跟网络传输也有关系。尤其是J2EE技术,如果你学了EJB,感受会更深。
Java程序可以加载一个运行时才得知名称的class,获悉其完整结构(但不包括methods定义),并生成其对象实体、或对其属性设值、 ...
Instrospection:Studying a Javabean with reflection to discover its properties. 专指GUI编程中IDE用来获取JavaBean(指图形或非图形的组件式JavaBean)的属性,属性页和属性编辑器,方法则包含reflection但不局限于reflection,还有各种属性文件。Java的instrospection最早在Sun的BDK中得到体现,当然同时期或更早的其他语言中也存在这种说法。后期JavaBean开始广泛化,由Java的一个扩展转变为Java核心的一部分,甚至是编码风格的一部分,以至于任何一个POJO都可以叫Bean。
Reflection:Reflection (the java.lang.reflect package) is primarily for very generic programs such as database browsers or visual code editors. Reflection allows Java code to discover information about the fields, methods and constructors of loaded classes and to dynamically invoke them. Reflection is for dealing with class files you know very little about ahead of time.
EJB同JavaBean(指组件式)一样,都是一组耦合较紧密的Java类,配置文件,以及图片/文字(SUN的这些技术的早期配置文件和资源文件绝大多数都是和组件一样的Java类)等其他资源文件而组成。因此Instrospection包括了对组件整个的解析过程。而Reflection则特指对java类的结构的解析/理解过程。
两者有共同的地方,但还是有区别的。
[ 本帖最后由 greenflute 于 2006-9-12 16:26 编辑 ] 对内部类的理解不错,GUI的理解也比较清晰$支持$$支持$$支持$ 还没来得及看。先顶起来。 我的帖子真的有人看吗,没人鼓励,我都不想写了,
我看这个板块都没什莫人来啊,我发的贴都没反映,郁闷,
难道我真得太闲了 为了有始有终,我把东西转到我的blog上了,如果有兴趣可以上去看看,
就是速度挺慢的,还有如果用 firefox 的话可能有时会显示不正常,改用IE就行
不知道谁没事,在我blog 上加病毒评论,算了,我看blog 我自己看好了,真的很讨厌这些没事干的人,
我愿意把我的学习过程写出来,方便大家,偏偏有人看你不顺眼,给你回个评论,你点的话,会不停弹出窗口,真不知道这些人整天在想什莫。
[ 本帖最后由 w3gogo 于 2006-10-8 14:55 编辑 ] 楼主写得很好啊,我觉得写出来,自己高兴就行了,对不?
提高比较快的方法之一,就是自己写一个GUI程序,按照MVC的模式来做。
那天把我写的一个小程序发上来和大家分享一下。
页:
1
[2]