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

dz论坛做视频网站教程高端网站设计企业网站建设

dz论坛做视频网站教程,高端网站设计企业网站建设,wordpress 媒体库权限,佛山找人做网站1、反射是什么#xff1a; 反射是一种动态地获取和操作类信息的行为。类信息包括类的属性、方法、构造函数等。 类信息在Java中通常存储在.class文件中。当我们编写Java代码并进行编译时#xff0c;编译器#xff08;javac#xff09;将源代码转换为字节码#xff0c;并将…1、反射是什么 反射是一种动态地获取和操作类信息的行为。类信息包括类的属性、方法、构造函数等。 类信息在Java中通常存储在.class文件中。当我们编写Java代码并进行编译时编译器javac将源代码转换为字节码并将字节码保存在.class文件中。 在运行时当我们使用反射来获取类的信息时实际上是通过读取和解析.class文件来获取类的结构信息。反射机制允许我们在运行时动态地加载和操作类的信息而不需要在编译时明确知道类的类型。 2、 获取Class对象以及其对其操作 获取class对象三种方式对应三个阶段) 反射代码简单示例 public class ReflexDemo {public static void main(String[] args) throws Exception{Classperson clazz person.class;//通过newInstance()创建对象person person clazz.newInstance();//获取方法名为getName的方法Method changeName clazz.getMethod(changeName, String.class);//调用了person对象的chanName方法changeName.invoke(person, wkx);} }class person {private String name;Person(){}Person(String name){this.name name;}public void changeName(String name){this.name name;System.out.println(我将名字改为了name);} }3、操作Class对象的API 变量信息Filed成员方法Method构造器Constructor注解信息Annotation权限修饰符Modifier 创建类的实例的方式 //创建类的实例可以使用以下方法创建类的实例Person person1 clazz.newInstance();// 调用无参构造方法创建实例ConstructorPerson declaredConstructor clazz.getDeclaredConstructor(String.class);// 获取指定构造方法第二个参数为构造方法参数类型Person person2 declaredConstructor.newInstance(小明);// 调用构造方法创建实例args为构造方法参数的值 对于类的字段信息的操作 //获取类的字段信息可以使用以下方法获取类的字段信息 Field[] fields1 clazz.getFields();// 获取所有字段不包括私有字段 Field[] fields clazz.getDeclaredFields(); // 获取所有字段包括私有字段 Field field clazz.getDeclaredField(name); // 获取指定字段//对于修饰符为private的变量,不能直接通过反射对其赋值取值要进行暴力反射 field.setAccessible(true); // 如果字段是私有的需要设置可访问性 field.set(person1, wuing); // 修改字段值person1为字段所属对象value为新的字段值 获取类的方法信息并对其进行调用的操作 //获取类的方法信息可以使用以下方法获取类的方法信息Method[] methods1 clazz.getMethods();// 获取所有方法 不包括私有方法Method[] methods clazz.getDeclaredMethods(); // 获取所有方法包括私有方法Method method clazz.getDeclaredMethod(changeName, String.class); // 获取指定方法第二个为方法参数类型的Object result method.invoke(person1, wkx); // 调用方法instance为方法所属对象args为方法参数的值 //如果调用的方法的修饰词为private就也要暴力反射.setAccessible(true);4、java反射用于场景 插件系统通过使用反射可以在应用程序中实现插件系统。应用程序可以在运行时加载和卸载插件通过反射调用插件中定义的方法实现动态扩展功能。 配置文件解析反射可以用于解析配置文件例如XML或JSON文件。通过反射可以动态地读取配置文件中的类名、字段和方法并在运行时创建相应的对象。 单元测试在单元测试中反射可以用于访问私有方法和字段以便进行更全面的测试。通过反射可以绕过访问修饰符的限制调用私有方法或设置私有字段的值。 动态代理反射可以用于实现动态代理。通过反射可以在运行时创建代理对象并在代理对象的方法调用前后执行额外的逻辑例如日志记录、性能监控等。 框架开发许多框架如Spring使用反射来实现依赖注入、AOP面向切面编程等功能。通过反射框架可以在运行时动态地创建对象、调用方法并实现解耦和灵活性 需要注意的是虽然反射提供了一种强大的机制来操作类的成员但过度使用反射可能会导致性能下降和代码可读性降低。因此在使用反射时应谨慎考虑其适用性和性能影响。
http://wiki.neutronadmin.com/news/353084/

相关文章:

  • 深圳网站建设推进做化工的 有那些网站
  • 一个公司可以做两个网站吗wordpress 自动摘要
  • 深圳做网站网络营销公司哪家好无线网站应建设在什么地方
  • 陕西省交通集团建设网站wordpress 评论框主题
  • 设计师网站prinest建筑业企业
  • 做商城网站哪家好晋中市住房与城乡建设厅网站
  • 长春站建筑网站上传文件
  • 网站式小程序flash做网站通栏
  • 网站添加备案信息网页制作培训苏州
  • 网站自己建机房深圳网站开发工程师
  • 网站建设实例下载wordpress目录只显示第一个图片
  • 怎么做网站管理系统seo如何分析网站
  • 牛街网站建设网站邮件系统建设招标
  • 第三方商城网站建设网站没有收录了
  • 可以不花钱做网站吗视频直播源码
  • 一流的镇江网站建设魔贝课凡seo课程好吗
  • 建设工程学部研究生培养网站湖南常德邮编
  • 腾讯云建站流程2023年10月爆发新冠
  • 福步外贸网站wordpress如何修改模板
  • 网站优化分析wordpress更好用吗
  • 网络建设网站有关知识高端轻奢品牌
  • 网站 整站 抓取深圳网站建设公司流程
  • 制定网站建设规划书软件推广简报
  • 中国国防新闻兰州企业网络推广优化
  • 企业网站模板 首页大图企业信息查询网官网
  • 长沙公司建设网站公司名字大全最新
  • 网站后台管理怎么进衡水精品网站建设价格
  • 天津百度关键词排名外贸网站建设seo优化
  • 中石油技术开发公司网站东莞做网站注意事项
  • 301的网站用什么来做连锁租车网站源码