前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java中反射学习系列教程之二

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

作者头像
凯哥Java
发布2019-06-28 14:50:45
3140
发布2019-06-28 14:50:45
举报
文章被收录于专栏:凯哥Java凯哥Java

在上一篇文章《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 演示: 

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

输出结果: 

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-06-24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档