java的主要内容 Java具体学什么?可以应用哪些方面?
Java具体学什么?可以应用哪些方面?
现在这个IT行业入行的技术门槛越来越高,自学甚至很难成功,所以我就和你一起坚持下去。我也是通过培训进入这个行业的。对比了很多机构,我选择了中公优聘。一是性价比比较高。然后公司比较大,感觉比较靠谱。对比了几家机构,感觉都差不多。毕竟我是个菜鸟。只要老师愿意耐心教我努力,我想重要。中公老师和学生一样住在基地里。记得老师有时候会陪我们上课到晚上十一二点,正常情况下会陪我们晚自习到九点 时钟。
为什么说java里面只有值传递?
按值传递是指在调用函数时复制实际参数并传递给函数,这样如果在函数中修改了参数,实际参数不会受到影响。让 让我们看看下面的图片,看看整个过程中发生了什么,为什么在Java中只传递值。
稍微解释一下这张图。当我们在main中创建一个用户对象时,我们会在堆中创建一个内存,用于存储姓名和性别等数据。然后Hollis保存内存的地址0x123456(图1)。
当试图调用pass方法,并将hollis作为实参传递给形参user时,这个地址0x123456就会给用户,此时用户也指向这个地址(图2)。
然后在pass方法中修改参数的时候,也就是用户new user(),会重新打开一个内存0X456789,分配给User。用户的任何后续修改都不会改变存储器0X123456的内容(图3)。
上面这个是什么传输?It 这绝对不是引用传递。如果是,在执行user new User()时,实参的引用也应该改为指向0X456789,但它没有 t .按引用传递是指调用函数时直接将实参的地址传递给函数,所以函数中参数的修改会影响实参。
所以,值传递和引用传递的区别不在于传递的内容。而是实际的参数是否已经被复制。在判断实参的内容是否受到影响时,要看传递的是什么。如果传递一个地址,要看这个地址的变化会不会影响,而不是看地址指向的对象的变化。就像钥匙和房子的关系一样。那么在这种情况下,为什么上面同样是传递对象,传递的String对象和User对象的性能结果是不一样的呢?我们在pass方法中使用名称hollischuang试图改变名称的值,这是一个错误。错了直接改了名字的参考地址。因为这段代码,我会给出一个新的字符串,然后给出对name的引用。原版 "霍利斯 "string仍然由实参持有,所以它没有被修改为实参的值。
所以,其实Java中是传值的,但是对于对象参数来说,值的内容就是对象的引用。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。