根据我对java的了解,我不认为这是可能的,但我想向那些知识远远超过我的人提出这个问题.
如果我有一个静态变量说,
public static String NAME = "james";
Run Code Online (Sandbox Code Playgroud)
有没有办法,通过反射或其他方式,为所述变量创建一个监听器,以便如果其他人调用:
ClassName.NAME
Run Code Online (Sandbox Code Playgroud)
它可以在得到结果之前修改,所以我可以改变NAME的值,使它等于"simon"而不是?
要清楚,这个代码库不是我自己的,我不能改变变量而是使用getter和setter.我知道这会使这更简单,但不幸的是,这不是一个选择.
不,你不能.这就是你不应该使用public变量的原因之一.始终使用private或protected变量,并通过getter方法访问它们static public String getName().这样你就可以将任何逻辑放入你想要的getter中.
| 归档时间: |
|
| 查看次数: |
94 次 |
| 最近记录: |