Java的反射机制

来源:互联网 发布:淘宝怎样收藏店铺 编辑:程序博客网 时间:2024/06/07 06:05

1.什么是反射机制

反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。

2.反射机制有哪些作用

(1)在运行时判断任意一个对象所属的类;

(2)在运行时构造任意一个类的对象;

(3)在运行时判断任意一个类所具有的成员变量和方法;

(4)在运行时调用任意一个对象的方法;

(5)生成态代理。

3.反着机制的相关API



最后,总结反射机制的优缺点

优点:反射机制可以增加代码的灵活性,可以避免将程序写死。

缺点:尽管反射非常强大,但也不能滥用。如果一个功能可以不用反射完成,那么最好就不用。其次它的缺点主要体现在两方面上:

1.性能方面反射包括了一些动态类型,所以JVM无法对这些代码进行优化。因此,反射操作的效率要比那些非反射操作低得多。我们应该避免在经常被 执行的代码或对性能要求很高的程序中使用反射。

安全方面使用反射技术要求程序必须在一个没有安全限制的环境中运行。由于反射允许代码执行一些在正常情况下不被允许的操作(比如访问私有的属性和方法),所以使用反射可能会导致意料之外的副作用--代码有功能上的错误,降低可移植性。反射代码破坏了抽象性,因此当平台发生改变的时候,代码的行为就有可能也随着变化。



原创粉丝点击