Java Base b = new Derived(); inheritance questions
What开发者_JS百科 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 Baseinstance and in runtime the instance is of type Derived.
In a broader explanation the Basetype 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.
加载中,请稍侯......
精彩评论