All the Latest Game Footage and Images from Stickman Super Athletics Warm up your thumbs and your stylus! You won’t get bored of participating in the different events until you are the best and win ... super() is a special use of the super keyword where you call a parameterless parent constructor.

Understanding the Context

In general, the super keyword can be used to call overridden methods, access hidden fields or invoke a superclass's constructor. The one without super hard-codes its parent's method - thus is has restricted the behavior of its method, and subclasses cannot inject functionality in the call chain. The one with super has greater flexibility. The call chain for the methods can be intercepted and functionality injected.

Key Insights

super() lets you avoid referring to the base class explicitly, which can be nice. But the main advantage comes with multiple inheritance, where all sorts of fun stuff can happen. In fact, multiple inheritance is the only case where super() is of any use. I would not recommend using it with classes using linear inheritance, where it's just useless overhead. I'm currently learning about class inheritance in my Java course and I don't understand when to use the super() call?

Final Thoughts

Edit: I found this example of code where super.variable is used: class A { ... Thirdly, when you call super() you do not need to specify what the super is, as that is inherent in the class definition for Child. Below is a fixed version of your code which should perform as you expect. So I was following Python's Super Considered Harmful, and went to test out his examples. However, Example 1-3, which is supposed to show the correct way of calling super when handling __init__ met...