Easily completed, and the one mistake I made in the second task cleared things up for me immensely when I realized what I did wrong. All of this is so straight forward, which worries me about what is about to come, hahaha!
The main takeaway is that constructors with no arguments (default constructors) are added automatically by the compiler, and in those constructors the calls to default constructors of the super class (super()) are automatically added by the compiler. Any class that does not extend any other class implicitly extends the Object class. So that also need not be shown explicitly. Also if the super class implements an interface, the sub class need not implement the same interface. All the interface methods implemented in super class are automatically inherited in the sub class. The sub class is free to use them as it is or override them if required.
Hopefully this should help someone:
Hypernym and Hyponym ( Example craws, penguins are BIRDS. that makes craws and penguins Hyponym and birds is their Hypernym) in programming terms this relationship type is " is a" relationship. Example a penguin "is a" bird. Based on prior lessons this seems to fit best for inherited classes.
Meronym and Holonymn ( Example leafs, or branches are part of TREES. that makes leafs and branches Meronym and the tree is their Holonymn) in programming terms this relationship type is "has a" relationship. Example a Tree "has a" leaf. Based on prior lessons this seems to fit best for inherited interfaces.
Thank you. This helped me to understand why interfaces of parent classes are automatically implemented in their child classes. If I use the example of a tree as the parent class and the oak as a child class where the parent class implements leaf, since all trees have leaves and all oaks are trees, all oaks have leaves.
GO TO FULL VERSION