Java中引用的作用类似于指针,但是有区别:()
(1) 指针必然指向一个内存地址,如果你定义的时候不指定,就会乱指(很可能造成安全隐患)但是引用定义出来后默认指向为空。
(2) 指针可以随意操作,但是引用不可以随便操作,永远只能指向对象的首地址,或者改变引用所指向的对象。
(3) 引用降低了指针的灵活性,但是更安全,便于人操作。
(4)引用是受控、安全、阉割版的指针。安全了,当然也就失去了一定的功能,不过还是利大于弊。
(5)Java 中没有指针,但是有一个类似指针的东西,引用!例如:String str=new String("Helloworld"),
str 就是引用
(6)Java中没有指针,但是有引用,如Object obj是指向一个Object类对象的引用,拥有指针的部分功能,但不允许
int *p = &a;
p += 2;
即不会误操作其他内存区域。
(7)引用就是一个指针只是使用权限小了些引用未赋值使用时抛的是啥异常, 空指针异常不能改变参数的值,只能改变参数
的属性值就很明白的告诉了我们引用就是指针