首页 > 其他分享 >反射获取static静态变量

反射获取static静态变量

时间:2022-11-16 17:33:26浏览次数:86  
标签:反射 变量 静态 field2 static null name

我们知道,静态变量是在类的实例化之前就进行了初始化(类的初始化阶段),所以静态变量是跟着类本身走的,跟具体的对象无关,所以我们获取变量就不需要传入对象,直接传入null即可:

 1 public class User {
 2  public static String name;
 3 }
 4 
 5 field2 = clz.getDeclaredField("name");
 6 field2.setAccessible(true);
 7 //获取静态变量
 8 Object getname=field2.get(null);
 9 System.out.println("修改前"+getname);
10 
11 //修改静态变量
12 field2.set(null, "xixi");
13 System.out.println("修改后"+User.name);

如上述代码:

Field.get(null) 可以获取静态变量。
Field.set(null,object) 可以修改静态变量

标签:反射,变量,静态,field2,static,null,name
From: https://www.cnblogs.com/fnlingnzb-learner/p/16896681.html

相关文章

  • Java反射
    反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的功能称为......
  • Prism通过反射机制自动注册对话视图模型
    摘要说明在使用WPF+Prism开发中,有时会需要使用到一些弹窗服务,而在Prism当中,我们使用Dialog是需要注入到IOC容器当中的,传统的写法如下:而当Dialog过多时或者需要新增一个......
  • Promise的部分静态方法(all,race,allSettled)
    Promise.all作用:合并多个promise对象,等待结果全部成功后,返回结果语法:Promise.all([Promise对象1,Promise对象2,Promise对象3]…).then()特点:返回结果是一个数组,注意:如......
  • c语言函数声明中,static inline和extern inline的区别
    c语言函数声明中,staticinline和externinline的区别“extern”关键字对于普通函数没有作用“extern”和“static”能影响编译器对内联函数的处理“extern”关键字......
  • static inline
    我们知道一般的函数调用都会通过call的方式来调用,hacker很容易对一个函数做手脚,如果是以inline的方式编译的,会把该函数的code拷贝到每次调用该函数的地方;而static会让生成......
  • 配置静态双向共路LSP示例
    本例描述了静态双向共路LSP的基本配置过程,包括使能MPLSTE,配置链路的MPLSTE带宽属性,配置MPLSTE隧道和创建静态双向共路LSP。静态双向共路LSP主要用于在MPLS网络中为承载......
  • 动态语言和静态语言
    概念:动态语言:是运行时才确定数据类型的语言,变量在使用之前无需申明类型,通常变量的值是被赋值的那个值的类型。比如Php、Asp、JavaScript、Python、Perl等等。vars="h......
  • ASP.NET Core教程-Configuration(配置)-预定义中间件-静态文件支持
    更新记录转载请注明出处:2022年11月15日发布。2022年11月12日从笔记迁移到博客。基本使用使用UseStaticFiles()中间件即可支持静态文件,然后将静态文件放在根目录......
  • 静态路由配置
    1.实验环境系统版本Windows10专业工作站版ENSP版本1.3.00.100路由器型号AR22202.实验括朴图3.实验要求配置静态路由两台主机互通。PC1IP:192.16......
  • static关键字
    static关键字static:静态的static可以用来修饰:属性、方法、代码块、内部类使用static修饰属性:静态变量(或类变量)属性,按是否使用static修饰,又分为:静态属性vs非静态属......