看来楼主是对反射的理解不够深
不知道反射存在的意义
形象点给你说吧
比如有一家汽车生产的公司,造出来的汽车都是四个轮子
并且声明我们造的汽车就是四个轮
谁偷摸改我们的汽车那就是侵权,是要吃官司的
但是为了照顾喜欢改车车的用户,我们提供了专门的汽车修配厂
想改车,到我们的汽车修配厂,我们给你改
这个轮子的数量就相当于私有的属性
汽车修配厂就相当于对外暴露的改车轮的方法
外部没有权利直接改变他们所生产的汽车的轮子的数量
所以只能通过他们对外提供的修配厂改装
而反射机制呢就相当于一个资深的工程师
他看这个汽车一眼就能看透这个汽车的全部构造
然后他就能学会制造这种汽车
但此时他也仅仅是制造,他是不敢直接改装人家公司已经生产好的汽车轮子的
由此可见java为你提供了这样一个工程师
是为了让你可以制造出你所见过的汽车,并可以学会开它
实在想改装但又不想去汽车修配厂??好说,让你的工程师替你去(提高动态性)
而这个工程师呢是没有权利去直接改装别的公司已经生产好的汽车的
这个例子呢有它的不形象的地方,但还是可以帮助你理解反射机制的
希望对你有所帮助。。。 |