反思Java
参见英文答案 > Accessing private variables in Java via reflection ????????????????????????????????????1个 [1]你有一个带有私有变量的Java类,没有getter / setter方法.你如何修改这些变量? 我的回答:你不能这样做,私有变量无法从外部访问. [2]您使用哪种反射方法来完成上述操作? 根据我的经验,我(1)检查类是否存在(2)创建实例(3)检查方法是否存在(4)调用方法(5)继续使用类的实例.当然,我会捕获类似ClassNotFound和MethodInvocation的异常.但是有一个修改私有变量的技巧吗?人们这样做吗? TIA. 最佳答案
鉴于这种:
我的回答是你不需要特定的setter / getter,你只需要在其他非特定方法中修改它们.在许多情况下,可以将setter / getter视为暴露实现. 为了使字段可访问,您必须调用Field.setAccessible(). 这是我不知道的那种话题,如果/当我使用它时必须查找(我不记得我上次使用它时).对于面试官如此挂起,这似乎有点不寻常. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |