构造defaults
时,将java.util.Properties
作为参数传递似乎是一种创建属性层次结构的简便方法,在该属性中子级逻辑上继承了(祖父母)父母定义的值,并且如果需要,可以覆盖每个值。
同时,将这些defaults
传递到属性对象的唯一方法是使用构造函数。如果我不控制对象的创建怎么办?没有设置器允许我随时执行此操作,例如setDefaults(Properties defaults)
。
在查看java.util.Properties
的源代码时,我发现任何东西都不允许我扩展类并添加所需的setter。
我的问题如下:
您如何看待解决方案?
为什么API开发人员自己没有做到这一点?
最佳答案
看来java.util.Properties
will not be changed ever,所以可以安全地扩展类并将功能带到那里。我还考虑将来使用其他API来实现该机制。