In line "Animal a1 = d;" my understanding is it's a polymorphism, because d is a newly declared dog, and a1 is assigned to be it. But in the guide book, it says this line is an implicit upcasting. What's wrong with my uderstanding?
The polymorphism comes in force upon invoking a method on Animal when it's dynamic type is Dog. If the method is overridden in Dog, the Dog's version gets executed, even though the static type is Animal. And this is called Polymorphism.
JDBCSupport - An easy to use, light-weight JDBC framework -