Which Java language mechanisms allow object reference variable types to be different than the type of object it refers to?
<p>The questions asks </p>

<p>"What two Java language mechanisms allow the type of an object reference variable to be "different" than the type of the object to which it refers? Give specific examples to illustrate. In what sense are they not different at all?"</p>

<p>I am not sure if I am understanding this correctly. At first I thought it would be Polymorphism but doesn't that only determine which object a method will reference when there are multiple objects? </p>

<p>Then I think it is upcasting and downcasting. Since that seems like the correct answer.</p>

<p>I am not sure if I am missing another mechanism. Can someone help me clarify this, my book really does not do a good job of explaining this for m.e </p>
