在Java中,为什么有一个没有关键字的代码块,只有大括号
2022-09-02 05:27:29
我正在重构一些继承的代码,但被设计决策所困扰,无法找出合适的术语来谷歌这个。我的前任会使用这样的块:
public class ChildClass extends ParentClass {
{
inheritedVar = "someVal";
}
public ChildClass(){ /* constructor exists */ }
// rest of code
}
声明没有关键字的代码块有什么意义?它的行为不像一个静态块,我不相信。它是构造函数中设置的替代方法吗?如果正在使用工厂(在这种情况下不是),这会产生一些影响吗?我在这里发现了一个关于C中发生这种情况的相关线程,但推理(范围和变量声明)似乎与Java无关。
任何关于“为什么”的想法或想法将不胜感激。重构这一点很容易,我只是在这一点上感到好奇。