Summary
In this lesson, we have learned that interfaces are a way for us to define a set of methods that all classes implementing them must provide specific implementations for. Interfaces can be used to implement events and listeners in your code when a specific action occurs.
We then learned that typecasting is a way for us to change a variable of one type to another type, as long as they are on the same hierarchy tree or implement a common interface.
We also looked at the use of the instanceof operator and the Object class in Java, and learned the concepts of autoboxing, unboxing, abstract classes, and abstract methods in Java.
In the next lesson, we will look at a few common classes and data structures that come with Java.