我想我可能对此想法太想了(即,我不应该以这种方式使用反射来设置变量)
是的
反射是相当缓慢的,仅应作为最后的手段。如果只是为了避免有太多冗余代码,请考虑使用自动代码生成。对于纯数据对象,我强烈建议您使用协议缓冲区;它将生成getters
/ setters(您只需要声明字段)。另外,它还允许在C ++,Java和Python之间轻松进行数据通信。
如果您有一个具有很多字段但又不是纯数据对象的类…那么
- 您应该考虑所有字段是否应该都是可变的。(您真的需要二传手吗?)
- 字段是否应该可见。(您是否需要任何访问器?)
通常,将字段设为“最终”,在构造函数中对其进行初始化,并且不提供任何访问权限或通过已实现的接口提供有限的访问权限,通常是一个好主意。



