В ArrayList.java
, почему есть ArrayList(int initialCapacity)
конструктор, вызывающий super()
?Почему ArrayList's constuctor (ArrayList (int initialCapacity)) вызывает конструктор по умолчанию суперкласса?
Я знаю, что он пытается вызвать конструктор по умолчанию суперкласса, т. Е. AbstractList()
. Но нет абсолютно никакой реализации в AbstractList()
.
protected AbstractList() {
}
В любом случае конструктор по умолчанию суперкласса будет вызываться в этом случае.
Что нужно написать super()
?
Должен быть вызван конструктор суперкласса, super(), если конструктор не указан. Вещи идут за кулисами даже с пустым конструктором. Вызов его явно, возможно, что-то сказал автору (например, напомнил людям, чтобы они не «исправляли» его, чтобы положить в конструктор annother), не весь код для компьютера –
'super()' вызывается в любом случае, как вы сказали. Я предполагаю, что это просто вопрос стиля, чтобы называть его явно. – Thomas
Некоторые IDE (затмение) с помощью некоторой проверки стиля могут пометить конструктор с помощью значка предупреждения о смелости, не вызывающего супер явно. –