Inheritance
When a subclass shares methods and variables with a superclass
Diamond problem
A special rule in inheritance where a subclass can only inherit from one superclass
Class hierarchy
A structure created using inheritance, where one superclass can have multiple subclasses
Constructors
Methods used to initialize objects, not inherited from superclasses
Super keyword
A keyword used to call the constructor of the superclass with the parameters of the subclass
Method signature
The combination of a method's name and its parameters
Overriding methods
When a public method in the subclass has the same method signature as a public method in the superclass
@Override
An annotation used to indicate that a method overrides a method from a superclass
Inheritance hierarchies
A structure where changes in the top superclass affect all the subclasses beneath it
Polymorphism
The ability to assign an object in a subclass to a reference of the superclass
Object class
The superclass of all classes, part of java.lang, often modified or overwritten in subclasses