对象位于 Java 类的顶部。String 是 Object 的子类。
那么,什么是第一个 - 对象或字符串?
迅速的答案是——对象。
但有趣的是,Object 已经有一个 toString() 方法,因此“知道”String。因此,在构造 Object 时,String 必须已经存在。另一方面,String 是 Object 的子类,在构造 String 时,Object 必须已经存在。我们陷入了一个永无止境的定义周期(还有一些技术问题)。这种方法至少违反了单一根类的想法。
这种担忧可能看起来更像是理论上的,而不是实际的。
但问题是我在其他框架中看到了类似的方法。我认为至少在某种程度上它受到了核心 Java 类的设计方式的启发。
你怎么看 - Java 类之间的循环依赖(特别是在对象/字符串的情况下)是不可避免的吗?难道不应该不惜一切代价避免它们吗?还是有时(谨慎和谨慎地)作为合理妥协的结果而接受它们?如果,那么 - 标准是什么?