<分区>
我发现了一些类似的主题,例如here ,但他们没有完全回答我的问题。问题很简单:
在子类的构造函数中调用 super()
是一种好习惯吗?我当然知道,如果我没有明确说明,编译器会为我完成,但我只是在最佳实践的背景下提问。您是否认为在每个子类的构造函数中调用 super()
是“形式对实质的胜利”?
我正在处理包含 uses 策略的代码,所以我明白,对于许多程序员来说,这根本不重要……对我来说,现在也不重要了,但也许我应该改变它……
<分区>
我发现了一些类似的主题,例如here ,但他们没有完全回答我的问题。问题很简单:
在子类的构造函数中调用 super()
是一种好习惯吗?我当然知道,如果我没有明确说明,编译器会为我完成,但我只是在最佳实践的背景下提问。您是否认为在每个子类的构造函数中调用 super()
是“形式对实质的胜利”?
我正在处理包含 uses 策略的代码,所以我明白,对于许多程序员来说,这根本不重要……对我来说,现在也不重要了,但也许我应该改变它……
最佳答案
在我看来,显式的 super() 调用只会污染代码。默认的 super() 调用就是为了这个目的而发明的——缩短代码。查看 SE 库源代码,super() 几乎从未使用过,例如
public HashMap(int initialCapacity, float loadFactor) {
if (initialCapacity < 0)
...
关于Java - 子类构造函数中的显式 super(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17020570/