In Chapter 7, Members Inheritance and Polymorphism, we worked with polymorphism. The next example doesn't represent a best practice because polymorphism is the way to make it work. However, we will write some code that doesn't represent a best practice just to understand a bit more about typecasting.
The following lines create a method called doSomethingWithWonderCat
in JShell. We will use this method to understand how we can treat an instance received with an interface type as a different subclass. The code file for the sample is included in the java_9_oop_chapter_09_01
folder, in the example09_02.java
file.
// The following code is just for educational purposes // and it doesn't represent a best practice // We should always take advantage of polymorphism instead public void doSomethingWithWonderCat(WonderCat wonderCat) { if (wonderCat instanceof HideableWonderCat) { HideableWonderCat hideableCat = (HideableWonderCat...