Java中反射学习系列教程之二
- 反射
- 时间:2019-06-24 09:34
- 7376人已阅读
简介
在上一篇文章《Java中反射学习系列教程之一》中我们学了什么是反射;反射中的反字怎么理解;以及反射的特点。今天我们主要讲的内容:1:为什么需要反射2:JDK文档中反射相关的API一:为什么要使用反射?1.1:Java中编译类型有哪些?Java中编译可以分为:静态编译和动态编译两种静态编译:在编译期间就已经确定了对象类型,只要绑定对象一致就可以编译通过。 如:Personp=newPers
🔔🔔🔔好消息!好消息!🔔🔔🔔
有需要的朋友👉:联系凯哥
在上一篇文章《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()); }
输出结果:
上一篇: Java中反射学习系列教程之一
下一篇: 高效 Java 人必须知道的十大框架