What exactly happens when you create a new instance using :
Base b = new Derived();
I cannot really understand the mechanics behind this.
The reference to b
is type Base
. But the implementation is Derived
. This means you can use it as a Base
but it will behave as a Derived
. Doing b instanceof Derived
will be true because the implementation is of type Derived
Basically, from that point the compiler sees a Base
instance and in runtime the instance is of type Derived
.
In a broader explanation the Base
type might be a interface, so you know by the contract what method has and what it does Polymorphism
. But you are abstracted from the implementation.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With