In Java, an Object can have a runtime type (which is what it was created as) and a casted type (the type you have casted it to be).
Object
I\'m wondering what
I would say that you differentiate between the type of the variable/reference and the type of the object. In the case
A a = new B();
the variable/reference would be of type A but the object of type B.
A
B