Здесь:
public IntegerLinkedList(int payload, IntegerLinkedList next) {
Это конструктор, который Java-компилятор хочет вызвать из вашего производного конструктора. Обратите внимание, что он имеет два параметра.
Но производный конструктор имеет три параметра. Так как же теперь должен использовать компилятор!
Одно решение: поместите super(payload, next);
в качестве первого оператора в этот производный конструктор.
Важной частью является то, что любой конструктор должен вызывать другой конструктор в том же классе или конструктор суперкласса. Если вы пропустите этот явный вызов, компилятор попытается вставить его для вас. Что он не может сделать, когда вещи не складываются.
Теорию, стоящую за этим, см., Например, здесь .