A downcast can change the dynamic type of an object.
Why is this statement false? Is that because, there aren't static and dynamic types in Java?
Moreover, what is the static type and dynamic types of an object?
As @ControlAltDel stated, the type of the object is a type. Downcasting doesn't change anything.
Once created, the classes type doesn't change. No way to do that in java.
The static type is the type of the reference to the variable that you are holding. The dynamic type is the instance that it points to.
You can change the object that's pointed to by the reference and move up and down the hierarchy, but can't ever change the type of the instance.