Java的引用和指针有许多共性,但是并不能因此就说Java的引用就是C语言中的指针,两者还是有很大区别的
1.Java的引用无法像指针那样指向任何的内存地址,只能指向实体
2.Java的引用无法像指针那样进行指针运算
3.Java的引用是强类型,在C语言中int*的指针可以cast成char*类型,但是引用没有这种功能
Java的引用和指针的相同之处在于他们都是保存了地址而不是数值,通过地址来找到要找的“实物”
但是Java的引用限制更多,在安全性上有了一定的保证,不过相比指针就会显得有些不太灵活,而且其背后的运作对用户而言相比指针更为不透明。但是指针由于功能太强大,又有很大的隐患。 |
|