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).
I\'m wondering what
The type of the variable a
is A
. There's no changing that, since it's a reference. It happens to refer to an object of type B
. While you're referring to that B
object through an A
reference you can only treat it as though it were of type A
.
You can later cast it to its more specific type
B b = (B)a;
and use the B
methods on that object.