全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Java基础--反射机制

反射

反射可以使我们很方便的创建灵活的代码,这些代码可以在运行时装配,无需在组件之间进行源代码链接。反射允许我们在编写和执行时,使我们的代码能够接入装载到JVM中的类的内部信息,而不是源代码中选定的类协作的代码。

反射机制作用

  1. 反编译:.class -> .java
  2. 通过反射机制访问Java对象的属性,方法,构造方法

反射的使用

反射机制获取类的三种方式

Class c1 = Class.forName("com.webb.basis.reflect.Demo"); // 一般采用这种方式
Class c2 = Demo.class;
Class c3 = new Demo().getClass();

创建对象:获取类之后我们来创建它的对象,利用newInstance()

c1.newInstance(); // 调用了Demo的无参构造方法

获取属性

// 获取所有属性
Field[] fields = c1.getDeclaredFields();
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append(Modifier.toString(c1.getModifiers()) + " class " + c1.getSimpleName() + "{\n");
for (Field field : fields) {
 stringBuffer.append("\t");
 stringBuffer.append(Modifier.toString(field.getModifiers()) + " ");
 stringBuffer.append(field.getType().getSimpleName() + " ");
 stringBuffer.append(field.getName() + ";\n");
}
stringBuffer.append("}");
System.out.println(stringBuffer);
// 获取指定的属性
Field field = c1.getDeclaredField("name"); // 不存在的话会报错 

获取方法和构造方法

方法关键字
getDeclaredMethods()
getReturnType()
getParameterTypes()
getDeclaredMethod()

构造方法关键字
getDeclaredConstructors()
getDeclaredConstructor()

setAccessible(true);

对属性设置访问权限,当类中的变量为private时,必须设置此项。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!


# java  # 反射机制  # java基础之反射和泛型以及注解  # java基础学习笔记之反射  # Java 基础详解(泛型、集合、IO、反射)  # 新手学习java反射基础  # Java基础之反射原理与用法详解  # 实例讲解Java基础之反射  # JAVA基础之注解与反射的使用方法和场景  # 深入解析Java反射之基础篇  # 使我  # 源代码  # 不存在  # 三种  # 报错  # 此项  # 很方便  # 量为  # 类中  # 而不是  # 访问权限  # 反编译  # Class  # pre  # reflect  # brush  # forName  # Demo  # basis  # webb 


相关文章: 如何通过VPS搭建网站快速盈利?  如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法  制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?  如何在企业微信快速生成手机电脑官网?  c# 在高并发场景下,委托和接口调用的性能对比  购物网站制作公司有哪些,哪个购物网站比较好?  建站之星安装路径如何正确选择及配置?  如何正确下载安装西数主机建站助手?  历史网站制作软件,华为如何找回被删除的网站?  如何通过免费商城建站系统源码自定义网站主题与功能?  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  建站OpenVZ教程与优化策略:配置指南与性能提升  如何在服务器上配置二级域名建站?  制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?  如何在宝塔面板中修改默认建站目录?  公司网站设计制作厂家,怎么创建自己的一个网站?  如何获取PHP WAP自助建站系统源码?  山东云建站价格为何差异显著?  表情包在线制作网站免费,表情包怎么弄?  c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】  南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?  太原网站制作公司有哪些,网约车营运证查询官网?  如何注册花生壳免费域名并搭建个人网站?  Python路径拼接规范_跨平台处理说明【指导】  建站之星安装提示数据库无法连接如何解决?  北京网站制作的公司有哪些,北京白云观官方网站?  怀化网站制作公司,怀化新生儿上户网上办理流程?  浙江网站制作公司有哪些,浙江栢塑信息技术有限公司定制网站做的怎么样?  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  如何高效完成独享虚拟主机建站?  如何高效利用亚马逊云主机搭建企业网站?  建站之星图片链接生成指南:自助建站与智能设计教程  如何用花生壳三步快速搭建专属网站?  建站主机是否属于云主机类型?  javascript中的try catch异常捕获机制用法分析  正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?  天津个人网站制作公司,天津网约车驾驶员从业资格证官网?  如何快速生成橙子建站落地页链接?  专业公司网站制作公司,用什么语言做企业网站比较好?  小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建  如何在宝塔面板中创建新站点?  武清网站制作公司,天津武清个人营业执照注销查询系统网站?  枣阳网站制作,阳新火车站打的到仙岛湖多少钱?  免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?  官网自助建站系统:SEO优化+多语言支持,快速搭建专业网站  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  家具网站制作软件,家具厂怎么跑业务?  如何在Golang中使用replace替换模块_指定本地或远程路径  ,石家庄四十八中学官网? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。