Java的反射机制

1.什么是反射机制

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

2.反射机制有哪些作用

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

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

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

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

(5)生成态代理。

3.反着机制的相关API



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

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

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

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

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



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章