发布网友 发布时间:2022-04-23 22:39
共3个回答
热心网友 时间:2022-05-03 10:42
区别应该很多,理解这些区别应该是建立在对C的指针和对Java引用类型的高度理解之上2的。
这里说下自己的理解:java中的引用类型可以看成是C中指针概念的封装。C中指针是一个数值,可以进行各种运算(算术、逻辑、位),但是在java中,这些功能被封装,是无法使用的。
根据本题的其他回答更新:java中的参数传递是按值传递当传递的是基础类型的值时,那么会将此值复制一份传递,当传递的是引用类型时候,将会把此引用类型的指针 值复制一份传递。比如:public void test(Person p){....}方法中对p的操作,是直接对P在内容中对应的数据直接操作,而不是将P对应的内容中的数据复制一份传递到test方法中。
热心网友 时间:2022-05-03 12:00
java是值传递,c传的是地址指针。
也就是说,引用类型的变量又被复制了一份,传递的时候,你可以放心的操作这个变量,他的原值是不会改变的。
而c就不行,c中你改得实际就是那一个地址中的数据。
不懂的可以Hi我
热心网友 时间:2022-05-03 13:35
因为指针会带来诸如安全性、操作复杂等问题所以java中并没有指针类型,它使用引用来代替指针,可以说java中虽然没有指针类型,但到处都是指针,举个简单的例子String name = "nameA";就是把name作为一个指针指向nameA所在的单元