super has several different uses depending on the context:- Define a lower bound for a generic type:
Consumer<? super Number> - Access a member of the parent class that is shadowed by members of the subclass or local variables:
int foo = super.foo - Call the parent constructor within a subclass constructor:
SubClass() { super("subclass param"); } - In case of ambiguity, specify the parent type explicitly (as shown in the image)
