如何随时设置 java.util.Properties 的默认值?

How to set defaults for java.util.Properties at any time?

在构造 java.util.Properties 时将 defaults 作为参数传递似乎是创建属性层次结构的简单方法,其中 children 在逻辑上继承了 (grand)[=35 中定义的值=],如果需要,可以覆盖每个值。

同时将这些 defaults 传递给属性 object 的唯一方法是使用构造函数。如果我不控制 object 的创建怎么办?没有 setter 允许我随时执行此操作,例如 setDefaults(Properties defaults)

查看 java.util.Properties 的源代码,我没有发现任何不允许我扩展 class 并添加我需要的 setter 的内容。

我的问题如下:

  1. 您认为解决方案如何?
  2. 为什么 API 开发人员自己没有这样做?

似乎 java.util.Properties will not be changed ever,因此扩展 class 并将我的功能放在那里是安全的。我也考虑以后换一个不同的API来实现这个机制