JDBC加载驱动,就用到反射,比如Spring的IOC就用了反射,本来对象需要自己去创建,用了IOC就把对象交给容器,由容器去帮你创建。
反射其实就是程序能够自检查自身信息。就像程序会照镜子反光看自己。
在程序中可以检查某个类中的方法属性等信息,并且能够动态调用。
这样可以写出很灵活的程序。
比如要把一个对象中的数据copy到另外一个对象中,规则是属性名相同就copy,
就可以用反射来做,不需要指定每个属性的名字,只要动态从类中取得信息,
再判断属性名是否相同即可
反射的缺点:
1,丧失了编译时类型检查的好处
2,执行反射访问所需代码笨拙冗长
3,性能损失 |