我个人的理解,引用即声明的对象变量,他指向“new出来”的对象。
了解C的同学可能立马会想到指针,然而,不同的Java系统,引用的具体实现不一样,有的采用指针实现,特点是数组访问速度快;有的是采用句柄来实现,句柄——指针的指针,特点是有利于垃圾回收。
在Java中,创建引用的操作只有一种,即new,改变引用所指向的对象也只有一种,即赋值操作,所以Java里面对引用的操作只有创建和赋值。对比C/C++里的指针,Java里面的引用被极大地限制了,这也是Java开发效率比C/C++高的原因所在,指针过于灵活,容易出错,而代价就是性能没有C/C++高,在编程语言的行话里,Java的引用被称为安全指针。