理解JAVA反射,注解,泛型,三体

简述

在学习了这三大模块之后,我觉得有必要梳理一下,因为这三个模块是绑在一起的,可以称为三体了,当然java体系本来就是彼此有关联的,但是这三个模块放在一起看,就显得彼此是多么的重要,可以达到1+1+1>3的效果。

概念

在这里还是需要把各自的概念描述一下:

反射:就是反过来获取类的信息。以前都是java文件最后生成class文件,现在反过来,在有Class对象的前提下,获取整个类的信息。

泛型 :在不知道要操作什么数据类型的时候,用它代替。像装数据的容器数组,集合等,或者即将操作的对象,都不清楚时,用它代替。

注解:注解就类似一个标签,给字段,方法,类,或者给注解本身,做一个标记。

关联

为什么会说这三者是三体为一体呢?
因为注解跟泛型,都在反射机制下大放光彩。

对反射而言,就是给我字节码的Class对象,我就可以给你关于这个类的所有信息,这是一个简单而粗暴的协议。那为什么要跟注解以及泛型扯上关系呢?
我们使用注解时,只是在这个运用的对象,做一个标记。而这个标记并不会影响程序本身,也就是说去掉注解,程序还是可以运行的。
在这个注解做了作用域限制之后,我们就可以根据这个限制去获取这个注解需要注入操作对象的数据,而重点是在于我们该怎么获取这个数据呢?
这时候,反射就上场了。反过来获取操作对象的数据,再去获取贴在这个操作对象的标签的数据,也就是这个注解的数据。注解是给编译器或者APT操作的,所以在这里运用这个反射。

泛型是在我们不清楚该操作的是什么时,它就上场了。
比如说:我们在使用反射时不知道要返回什么对象,可以使用泛型通配,就类似这样,给我传入一个字节码,就返回一个对象给你。不需要强转,不需要判断,简洁而有效。

泛型+反射

重中之重还是在反射,反射是非常规的操作,是倒过来的操作方式,而注解,泛型,也是在最后初始化的时候才会清楚的告诉你,这个是什么类型,所以反射跟注解,跟泛型,就能够完美的配合在一起~~

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

推荐阅读更多精彩内容

  • 我觉得每个人都有一种活法,选择而已罢了
    CNBLUEone阅读 233评论 0 0
  • 俗话说得好“钱能使鬼推磨”,话说钱何止能使鬼推磨?而且还能使妹子脱光衣服。一美女当街被陌生男子要求接吻,下面的场景...
    思考与行动阅读 153评论 0 0
  • 最近一直在寻找能够赚钱的机会,因为性格比较懒,虽然懂一点点推广的知识,却一直没想过做一个个人独立站卖东西(有上家公...
    墨迹2016阅读 562评论 0 3
  • 认识的一个小朋友提出下个月离职,然后就被一直关系很好的同事彻底疏远,在单位变成了被视而不见的人。小朋友因为是...
    lisec516阅读 153评论 0 0
  • 昔日舞台上风光无限,家庭幸福美满,2003年,父亲突然离世,年仅四岁的儿子被查出患有重度感统失调症,他意识到亲情的...
    独行侠者阅读 392评论 0 3