I was studying Polymorphism from "Head First Java" and came to this concept. Can anyone explain it please with an example?
Compiler checks the class of reference type -- not the Object type.
So what's the difference between Reference Type and Object Type?
I don't think their use of "object type" and "reference type" is standardized, but here's my interpretation.
Consider this code:
Object o = new Integer(3);
The reference o
is of type Object
. The object that it references is of type Integer
.
So the "reference type" would be Object
and the "object type" would be Integer
.
What makes this confusing is that there's the (standardized, official) term "reference type" that encapsulates types that can be referenced. In Java that includes all classes, enums, interfaces, arrays. It excludes only the primitive types (int
, ...).
What is meant by the terms is the following:
Maybe some will find it easier to understand with these terms.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With