当前位置: 首页 > news >正文

做俄罗斯外贸的网站网络游戏推广平台

做俄罗斯外贸的网站,网络游戏推广平台,推广平台网站制作,重庆优化网站公司反射允许程序在运行时检查或修改其类、接口、字段和方法的行为。反射主要通过java.lang.reflect包中的类和接口实现,它主要用于以下目的: 在运行时分析类的能力:通过反射,可以在运行时检查类的结构,比如它的方法、构造…

反射允许程序在运行时检查或修改其类、接口、字段和方法的行为。反射主要通过java.lang.reflect包中的类和接口实现,它主要用于以下目的:

  1. 在运行时分析类的能力:通过反射,可以在运行时检查类的结构,比如它的方法、构造函数、字段等。
  2. 在运行时查看对象:可以调用对象的私有方法和访问私有字段(尽管这通常不推荐,因为它破坏了封装性)。
  3. 实现通用的数组操作代码:通过反射,可以编写能够操作任何类型数组的代码。
  4. 利用动态代理:反射经常与动态代理一起使用,以在运行时创建接口的代理实现。

反射的基本用法

反射主要通过以下几个类来实现:

  • Class:代表正在运行的Java应用程序中的类和接口。
  • Field:提供有关类或接口的字段的信息,以及对它的动态访问权限。
  • Method:提供关于类或接口的方法的信息,以及对它的动态访问权限。
  • Constructor:提供关于类的构造方法的信息,以及对它的动态访问权限。
获取Class对象

获取Class对象有三种常见方式:

  1. 使用Class.forName("完全限定名")静态方法(可能抛出ClassNotFoundException)。
  2. 使用类名.class语法。
  3. 使用对象的getClass()方法。

通过class对象获取对象的属性

获取指定属性名的public属性——getField(属性名)

获取全部public属性——getFields()

获取已声明的指定属性名的属性——getDeclaredField(属性名)

获取已声明的所有属性——getDeclaredFields() 

获取属性的类型、名字、修饰符
获取属性值——get(对象名)

对于public和protected属性,可以直接get和set

 对于private属性,必须要设置可访问,才可get和set

修改属性值——set(对象名,属性值)

 记得private属性必须要setAccessible(true)

通过class对象获取对象的构造器
 

上图只有2个构造方法,一个是有一个参数的,一个是有2个参数的

获取特定参数类型、个数的构造器——getConstructor(参数类型的class对象)
获取所有构造器——getConstructors()

获取构造器的参数——getParameters()
 通过class对象获取对象的方法
根据方法名获取已声明的方法——getDeclaredMethod(方法名,参数类型的class对象)

根据方法名获取public方法——getMethod(方法名,参数类型的class对象) 

获取所有public方法——getMethods() 

这里不仅包括对象(aClass)的所有public方法,还包括该对象隐式继承的object类中的public方法

 获取所有已声明方法——getDeclaredMethods() 

 获取方法返回类型——getReturnType()

获取方法上注解为@xxx的方法——getAnnotation(注解的class对象)
获取方法的名字——getName()
 修改方法中的参数并重新执行——invoke(对象,修改后的参数)

原来给output方法传的参数是“”,通过invoke函数修改参数并重新执行该对象的output函数后,参数改变了。

执行对象中的private方法——invoke(对象)

给类添加一个private方法 

通过反射执行

小结——对于对象
  •  只想获取public属性就使用getField(属性名)或getFields()
  • 想获取任意属性(不局限于public、protected、private)就使用getDeclaredField(属性名)或getDeclaredFields()
  • 想获取属性的类型用getType(),想获取属性的名字用getName(),想获取属性的修饰符用getModifiers()
  • 想获取属性的值用get(对象),想设置属性的值用set(对象,值),private属性得先将属性设置为可达setAccessible(),才能get()和set()
  • 想获取指定参数个数类型的构造器就使用getConstructor()
  • 想获取所有构造器就使用getConstructors()
  • 获取构造器的参数就使用getParameters()
  • 只想获取public方法就使用getMethod(方法名)或getMethods()(后者会获取到继承类上的public方法)
  • 想获取任意方法(不局限于public、protected、private)就使用getDeclaredMethod(方法名)或getDeclaredMethods()
  • 想获取方法上的注解就使用getAnnotation(注解的class类)
  • 想获取方法的返回值就使用getReturnType()
  • 想获取方法名就使用getName()
  • 想执行方法就用invoke(对象)
  • 想修改方法所传参数的值并重新执行该方法就使用invoke(对象,修改后的值)

http://www.ds6.com.cn/news/12109.html

相关文章:

  • 建设一个网站要多久百度平台客服电话
  • python 快速做网站抖音引流推广一个30元
  • 聊天网站建设重庆seo技术教程博客
  • 阳江网上车管所海淀seo搜索引擎优化公司
  • 常州网站搜索排名抖音推广引流平台
  • 创建网站的详细步骤全国seo公司排名
  • 辽阳专业网站建设品牌网络营销和推广的方法
  • 深圳做积分商城网站设计微信引流推广怎么做
  • 人大网站硬件建设与信息宣传工作网站如何做推广
  • 网站建设教程网外贸网站平台都有哪些
  • 二次开发是什么高明公司搜索seo
  • 电子商务公司网站怎么建windows优化大师的功能
  • 网站模板和后台抖音seo是什么
  • 网站名称怎样做如何提高关键词搜索排名
  • 兰州网站怎么建设地推怎么做最有效
  • 建设网站 怀疑对方传销 网站制作 缓刑怎样开自己的网站
  • 宁波网站开发建设公司seo学院
  • 做任务佣金的网站安徽网站推广
  • 广西城乡建设网站如何制作自己的网址
  • 六安网站制作人才招聘2023年10月疫情还会严重吗
  • 如何制作一个企业网站北京百度推广排名优化
  • 网站原创文章来源宁波seo关键词
  • 网站建设客户调研表全国各城市感染高峰进度查询
  • 扬州百姓网免费发布信息网seo职位
  • b2b行业门户网站策划实战研究报告百度快照怎么发布
  • 德兴网站seo免费的网站域名查询app
  • 网站开发调研海口网站建设
  • 义乌网站建设公司书生商友网络营销过程步骤
  • dw网站模板下载上海热点新闻
  • 一般网站图标是用什么做的百度推广代运营