JAVA反射作用之初步了解①

开门见山。这篇文章我们来讨论的内容是JAVA反射机制的作用。

当一个类被加载以后,Java虚拟机就会自动产生一个Class对象。通过这个Class对象我们就能获得加载到虚拟机当中这个Class对象对应的方法、成员以及构造方法的声明和定义等信息。

因此通过反射机制我们可以在运行过程中获取某一个对象的所属类的全部信息。这就是最重要的!!!!!!!

你让我说JAVA反射的作用?那可就不好说了,因为这个东西只可意会不可言传。我们就通过一段特别特别简单的代码来带你了解JAVA反射的作用之一,并且本篇文章只阐述这一个作用

假设我们制定了一个在线支付的接口,在这个接口中声明了一个支付的方法。任何继承此接口的实现类都会拥有在线支付的功能。

微信想要实现在线支付,因此它实现了这个接口,实现了微信支付的功能

支付宝也想要实现在线支付,因此它实现了这个接口,实现了支付宝支付的功能

我要买东西!我要买东西!!!!!

好的,我们来支付啦!!!那么,如果不用反射,后台代码怎么写呢????

 好吧,这样写应该很好理解。当然是if else分支判断啦。

就这????

但是,你没意识到这种写法有很大的不利吗???????如果,某一天你想要添加50种,5000种新的支付方式,你打算再添加50或5000个分支吗??你绝对不想!!!

那么,如何解决这个麻烦呢?   通过反射!!!!!!!

 看到没!!这样,只要我们变动了str的类的全限定名,他就能够去调用类里面的payOnline方法。

你说说这样写和上面的写法哪个好?

因此,我们所学习的大多数框架也都是采用反射机制来调用方法的,这就是原因。

归结,本篇文章介绍了反射的初步作用:

运行时获取对象的所属类的全部信息,在运行过程中操作对象

②                基于作用①,大大的增加了程序设计时的拓展性

很有意思的一件事,那么为什么我们要把这种东西叫做反射(Reflection)呢?因为,在运行过程中,我们能够通过对象获取到一个类的所有的信息,而这个对象就好像是一面镜子似的,能够反射出这个类的所有的信息。他就像是一个镜子,而我们使用的它的功能的描述就可以看作叫反射!!

有趣吧?

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值