Homework Week Five
Questions:
What is Java Reflection?
Answer:
- 对于任意一个类,都能够知道这个类的所有属性和方法,对于任意一个对象,都能调用它的任意一个方法。
- 一切皆对象,类也是对象。
- 当【Animal.class】在硬盘中时是一个文件,当载入到内存中,可以认为是一个对象。
- 用一句话总结就是反射可以实现在运行时知道任意一个类的属性和方法。
反射机制的概念:
指在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法,对于任意一个对象,都能调用它的任意一个方法。这种动态获取信息,以及动态调用对象方法的功能叫java语言的反射机制。
编译期和运行期
类的加载
- Java在真正需要使用一个类时才会去加载类
反射的优缺点
优点:
- 可以实现动态创建对象和编译,体现出很大的灵活性。
- 采用静态的话,需要把整个程序重新编译一次才可以实现功能的更新,而采用反射机制的话,它就可以不用卸载,只需要在运行时才动态的创建和编译,就可以实现该功能。
缺点: - 对性能消耗大
- 运行时间长