well jose make change in your second statement
A reference variable is not reassigned to other object BUT other object can be reassigned into reference variable.(if there is some super-sub relationship). An object occupy memory in heap while reference denote that memory OR object.
variable mean whose value can vary....... so its true a reference variable can be reassigned into other object off course should not be final.
do study some good book you will get to know more. OR see this link if it helps
The statements mentioned above are from the SCJP book itself. I dont think there can be any changes to them
1. A reference variable can be of only one type and once declared, that type can never be changed(although the object it references can change) [ Reference variable can be of only one type : what does this mean ? ]
2. A reference is a varaible ,so it can be reassigned to other objects(unless the reference is declared final). [ I presume here that a final reference is a reference that cannot be assigned to other objects ??]
Reference variable is like any other variable type int , float.. Only difference is that it store the reference. So say if you defined any variable of int type then is it possible to change it to other type during life cycle of that program ? No , na .. same is applicable on reference variable as well. Hence we cannot change type of reference variable once defined..
Once we made any variable final we can not re-initialize that variable. It gives compilation error if try . ex:
But if i make e1 final then e2 = e1 statement will give compilation error.