问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

什么是java引用?? 和C++里的指针和引用有什么区别?

发布网友 发布时间:2022-04-23 22:39

我来回答

2个回答

热心网友 时间:2022-05-09 23:21

个人感觉Java引用使用上和C++的指针差不多。Java引用可以为null,指针也可以。java引用和C++的指针一般都要new一个对象才能用。
不过语法上又像C++的引用,可以直接用成员访问符,仅此而已。
其实C++的指针和引用本身区别也没有多少,引用这个概念就是从C语言,指针扩展来的。

热心网友 时间:2022-05-10 00:39

1.类型:引用其值为地址的数据元素,java封装了的地址,可以转成字符串查看,长度可以不必关心。C++指针是一个装地址的变量,长度一般是计算机字长,可以认为是个int。
2.所占内存: 引用声明时没有实体,不占空间。C++指针如果声明后会用到才会赋值,如果用不到不会分配内存。
3.类型转换:引用的类型转换,也可能不成功,抛异,或者IDE就不能通过。C++指针只是个内存地址,指向那里,对程序来说还都是一个地址,但可能所指的地址不是程序想要的!
4.初始值:引用初始值为java关键字null。C++指针是INT,如不初始化指针,那他的值就不是固定的了。
5.计算:引用是不可以计算的。C++指针是INT,所以他可以计算,所以经常用指针来代替数组下标。
6.控制:引用不可以计算,所以他只能在自己程序里,可以被控制。C++指针是内存地址,也可以计算,所以他有可能指向了一个不归自己程序使用的内存地址,对于其他程序来说是很危险的,对自己程序来说也是不容易被控制的。
7.内存泄露:JAVA引用不会产生内存泄露。C++指针是容易产生内存泄露的,所以程序员要小心使用,及时回收。
8.作为参数:JAVA的方法参数只是传值,引用作为参数使用时候,回给函数内引用的值COPY,所以在函数内交换两个引用参数是没意义的,因为 函数只交换的参数的COPY值,但在函数内改变一个引用参数的属性是有意义的,因为引用参数的COPY所引用的对象是和引用参数是同一个对象。 C++指针作为参数给函数使用,实际上就是他所指的地址在被函数操作,所以函数内用指针参数的操作都将直接作用到指针所指向的地址(变量,对象,函数,等 等)。
9.操作符和声明:java里用"."。C++指针用"->" 用"*"声明指针。(似乎这条没什么用!)
10.本质:java中的引用和C++中的指针本质上都是想通过一个叫做引用或者指针的东西,找到要操作的目标(变量 对象等),方便在程序里操作。所不同的是JAVA的办法更安全,方便些,但没有了C++的灵活,高效。
java中的引用和C++中的指针,他们最好不要混在一起,也不要认为是一回事,只不过他们的作用有些相似,总叫人不自觉的对比。但在我们写 JAVA程序的时候最好忘记C++的指针,写C++程序的时候,也不要老惦记着JAVA的引用。只要记得 引用无大小,安全,不可计算,强转时要小心就好了。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
低温还原粉化性检验方法 ...播放量破50亿,大胃王“浪胃仙”是如何在抖音崛起的? 网络直播间:新部落的建构及其亚文化特征 网络直播中吃播的文化输出 我用圆通快递从河南商丘发到洛阳几天能到 商丘圆通快递几点下班? 河南商丘到江苏南京圆通快递,大概要多久? 四大名著语录 “命中注定我爱你”真的好看么? 好看的偶像剧 命中注定我爱你 农村商业银行是不是农业银行 我的小米手环在手机升级总是失败,如何解决? 我想请教下大家关于7.0微信怎么解除绑定银行卡啊,注销微信支付也注销不了,怎么回事啊? 微信零钱明细能注销吗?怎么 英短猫好养吗,在线等过来人支招 养英国短毛猫是怎样的体验?有什么关于这只猫的知识可以科普? 微信零钱记录怎么删除,注销过一次了说要15天后才能注销 养英国短毛猫需要准备什么 英短好养吗,有哪些注意的吗? 微信有零钱怎么注销账户 微信钱包的微信支付怎么注销 养英短猫需要注意什么? 微信零钱里有钱,注销不了。怎么办? 英国短毛猫怎么养新手 养英国短毛猫需要准备什么? 养英短猫一个月要花多少钱? 英短猫好养吗 我要注销微信支付上的零钱。 饲养英国短毛猫时,哪几个禁忌不能犯? 微信注销零钱怎么办 英短怎么养? java的引用和c++的指针的区别 淘宝宝贝被降权和屏蔽了,有什么后果? java中引用类型的变量与c中指针变量的区别? 我的淘宝显示您目前的状态:已被全店搜索降权是什么意思 微信零钱清空了怎么还是没办法注销用户 java的引用就是C或者C++里说的指针吗?? 宝贝被降权了怎么办?降权处理联系我 我的微信支付注销后零钱怎么没有了啊 java的引用和c里面的指针有何不同?String直接赋值和String new出来的有何区别? 为什么我的宝贝排名突然下降关键词搜索不到? 微信注销了零钱怎么返回 被降权的宝贝。在淘宝上还能搜到是怎么回事?提醒降权了。我该怎么办? 晋江邮编多少 淘宝商品被降权怎么办? 微信支付怎么换持卡人还有里面有零钱注销不了 求大神给我解释一下java的引用和指针到底是怎么回事啊,我C语言的指针用的很好?和C语言中的到底有什么区别 我的淘宝店里的宝贝为什么突然降权了? 微信支付注销了零钱放弃没有了怎么办 Java中的指针类型和C语言的一样吗 Java和c语言间的差距 谁更有优势