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
The Java Language Specification speaks about a variable's declared type, the javadoc of getClass() about an object's runtime class.
getClass()
Note that there is no such thing as a runtime type in Java; List and List are different types, but their instances share the same runtime class.
List