Java反射

一.什么是反射

反射是一种设计思想,怎样的思想呢?

首先我们先说java是一种面向对象的语言,由此衍生出"万物皆对象"的说法.我们把一辆车看成一个对象,那么我们先定义一个Car类,然后实例化一个car对象,这种是比较形象的使用方式.那既然"万物皆对象",我们定义的Car类是不是一种对象呢?是的,反射就是把Car类看成是一个对象,先定义了一个Class类,Car这个类就是Class的一个具体实例.

我们在程序设计中定义的所有类和接口都是这个Class类的实例,这种思想和概念就是反射.

二.反射有什么用

通过反射可以在程序运行时获得类和接口中定义的所有东西,包括字段,构造器,方法

通过反射可以在程序运行时创建对象,执行方法,修改字段

注意:这里强调了"运行时",Class类的实例表示正在运行的Java应用程序中的类和接口,而我们正是通过对Class实例的操作来完成相应功能的.

三.反射怎么用

首先我们要得到Class的实例,有三种方式:

1.Class.forName("全限定名")

2.类.class

3.对象.getClass();

得到Class实例后我们就可以根据Class的API来使用其方法

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

推荐阅读更多精彩内容

  • 转自https://blog.csdn.net/sinat_38259539/article/details/71...
    扎Zn了老Fe阅读 514评论 0 4
  • 问题: 在运行时,对一个JAVA类,能否知道属性和方法;能否调用它的任意方法? 答案是可以的,JAVA提供一种反射...
    糖宝_阅读 768评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,969评论 19 139
  • 一、概述 Java反射机制定义 Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类中的所有属性和方法...
    CoderZS阅读 1,650评论 0 26
  • It is wonderful news for .NET developer that you "can" ch...
    天鹅之旅阅读 482评论 0 1