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 演示: 

/** 

 * 通过反射获取到对象的全包名


 */ 

@Test 

public void () throws  Exception{ 

    Person person = new Person(); 

    log.info("person 对象的全包名为:{}",person.getClass().toString()); 

    log.info("person class getName:{}",person.getClass().getName()); 

输出结果: 

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本系列文章将整理到我在GitHub上的《Java面试指南》仓库,更多精彩内容请到我的仓库里查看 https://g...
    da3acf50377b阅读 4,119评论 0 2
  • 一:java概述:1,JDK:Java Development Kit,java的开发和运行环境,java的开发工...
    ZaneInTheSun阅读 7,575评论 0 11
  • 1.import static是Java 5增加的功能,就是将Import类中的静态方法,可以作为本类的静态方法来...
    XLsn0w阅读 5,002评论 0 2
  • 面向对象主要针对面向过程。 面向过程的基本单元是函数。 什么是对象:EVERYTHING IS OBJECT(万物...
    sinpi阅读 4,748评论 0 4
  • 概念 Java的反射(reflection)机制是指在程序的运行状态中,可以构造任意一个类的对象,可以了解任意一个...
    juconcurrent阅读 3,287评论 0 1