java - 访问时修改静态变量

标签 java

根据我对 java 的了解,我认为这是不可能的,但我想向比我更有知识的人提出这个问题。

如果我有一个静态变量,

public static String NAME = "james";

是否有任何方法,通过反射或其他方式,为所述变量创建一个监听器,以便如果其他人调用:

ClassName.NAME

可以在得到结果之前对其进行修改,这样我就可以更改 NAME 的值,使其等于“simon”?

需要明确的是,这个代码库不是我自己的,我无法更改变量以改为使用 getter 和 setter。我知道这会让事情变得更简单,但不幸的是,这不是一个选择。

最佳答案

不,你不能。这就是为什么您不应该使用 public 变量的原因之一。始终使用私有(private) protected 变量,并通过诸如static public String getName()之类的getter方法访问它们。这样你就可以将任何逻辑放入你想要的 getter 中。

关于java - 访问时修改静态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24657620/

相关文章:

java - 传入不同的容器类型

java - 无法连接到 Selenium 中的数据库

java - JPA:基于 'natural key' 合并实体

java - jackson/json 模式 - 用外部 json 模式生成器模块替换 ISO8601Utils

java - 二元运算符 '<' 第一个类型 : float second type: Object 的错误操作数类型

Java-替换字符串中的字符

java - Android ReSTLet 框架 - 获取文件列表并下载文件

java - IO异常 : When Executing Java File Code in Linux box

java - 与 RelativeLayout 底部对齐的按钮被截断

java - 不同的 ascii 表代码值?