inheritance
a way to create relationships between classes
inheritance hierarchy
designed to quantify the relationship between these classes. It defines the parent class and all of it’s children classes
superclass
the parent class, it holds the most basic form of objects found in the overall program
subclass
the objects in this “child class” will be more specific compared to those found in the superclass, or parent class
multiple inheritance
A class MAY NOT have more than 1 direct superclass!! This is against the rules in Java!!
overidden
a child class can have the same method class as the parent class. Methods are resolved based on the class that the object was created in. The method will be called instead of the inherited parent method. child overrides the parent method
overloaded
2 methods with the same name but with different lists of parameters, they can differ in number or type
super keyword
keyword used to call a method in a class, useful when child class overrides and inherited method, yet it still wants to call it
extends
keyword used to specify the parent class to inherit from, that is followed by the name of the parent class, if extends isn’t mentioned, it will just inherit from the object class
static
a keyword used to indicate that an instance variable or a method is a part of the class and not an object that is created by the class
polymorphism
The runtime type of an object can be that type or any subclass of the declared type. All method calls are resolved starting with the class that created the object. If the method isn’t found in the class that created the object, then it will look to the parent class until it finds the method. The method must exist, or the code won’t compile