Для чего нужно ключевое слово super?



Как и многие другие ключевые слова, super имеет несколько разных значений в зависимости от контекста:



1. Задать нижнюю границу generic-типа: Consumer<? super Number>

2. Обратиться к члену класса-родителя, который перекрыт (shadowed) членами наследника или локальными переменными: int foo = super.foo

3. Вызвать в конструкторе конструктор родителя: SubClass() { super("subclass param"); }

4. В случае неопределенности, уточнить родительский тип (на картинке)



#Язык



@javatg