Java中反射学习系列教程之二

凯哥java 凯哥java 2019-06-24

在上一篇文章《Java中反射学习系列教程之一》中我们学了什么是反射;反射中的反字怎么理解;以及反射的特点。今天我们主要讲的内容: 1:为什么需要反射 2:JDK文档中反射相关的API 一:为什么要使用反射? 1.1:Java中编译类型有哪些? Java中编译可以分为:静态编译和动态编译两种 静态编译: 在编译期间就已经确定了对象类型,只要绑定对象一致就可以编译通过。 如:Person p = new Person() 动态编译: 在运行期才确定类型进而来绑定对象。 动态编译最大限制的发挥了 Java 的灵活性,体现了多态的,可以减少类与类之间的的 耦合性。也可以理解为降低了耦合

综上所述:使用反射和好处: 1:最大限度的发挥了 Java 的灵活性 2:体现了面向对象的多态 3:降低了程序之间的耦合性 二:JDK文档中反射相关的API 相关API位置:在 java.lang.class 类中 通过反射获取对象完整包名 通过对象 getClass.getName()或 getClass.toString()方法 Demo 演示:


/** 
 * 通过反射获取到对象的全包名
 
 */ 
@Test 
public void () throws  Exception{ 
    Person person = new Person(); 
    log.info("person 对象的全包名为:{}",person.getClass().toString()); 
    log.info("person class getName:{}",person.getClass().getName()); 
} 

输出结果: