java中的形参为引用类型的问题
发布日期:2021-06-29 11:11:30
浏览次数:2
分类:技术文章
本文共 1098 字,大约阅读时间需要 3 分钟。
前几天课堂上的一个程序,看了好久始终还是没明白,课堂上老师也测试了很多,今天有时间看,我也来了几个程序测试了一下,但是然而没有发现什么不对,后面只能依靠百度了落,也查了比较久吧,终于还是明白了,今天总结一下。
总结:关于java中的形参问题我总结的就是一句话,在原地址上改动那么则成功改动,否则失败,这个与c里面的类似,c语言中只有当传递以指针形式的时候(也就是传递地址的时候)才能成功修改实参,如果是传递值则不能修改成功,因为作用域的问题,关于c语言的形参是否可以改变实参可以看我之前的那篇博客, 链接;; 现在还是回到java吧,对学过c的也学过java的应该总有种感觉, 认为java中的引用于c语言的指针,几乎是个一样的东西,因为引用是就是保存对象地址的,只能通过引用才能访问到对象, 而c语言;指针就是指向一块内存单元的,可以通过指针来修改这个值。是不是十分类似; 但是我要说的是。语法上应该是没区别的,但是在使用的时候要注意它的变化,它其实也只是一个存放于栈中的基础类型; 看代码具体分析吧; 关于String类通过方法传递修改的问题就到这里了, 总之一条就是; String类要想通过方法调用改变引用指向是不能完成的,(暂时以我的知识);暂时的问题;至于能不能加入c语言的思维,又来个引用指向这个引用的地址,来通过地址操作改变引用,而不是直接通过值改变。这个我就不知道了,暂时的一个问题吧?感觉应该不可以吧,
再看看String的兄弟StringBuffer或者StringBulider;
关于StringBuffer的总结就是一条; 如果跟String类那样试图在其他方法中改变StringBuffer引用来达到改变这个方法引用,这个是不能完成的,但是我们可以利用 StringBuffer是个字符串变量来直接改变这个字符串对象是可行的,注意这里引用还是没有变化的。看完了这两个特殊的类,我们也同样来看下基础的对象吧;
看完这三个例子应该很好的理解了java中形参为引用类型时的问题了啊;
基本的一条; 如果想通过改变形参的引用,使引用类型指向新的对象,来达到改变其实参引用是无法实现的, 要想改变引用s指向的内容,只能使用形参操作对象的地址,来修改这个对象的值,只有这样才能完成修改,至于String类,这个就尴尬了,因为它是字符串常量,其对象是不能被修改的,我们一般说的修改String类都是修改其引用,至于在这里修改是没有用了,所以就尴尬了;码完;尴尬的是,码博客码到一半寝室突然停电了,黑灯瞎火的盲打也不熟惜,然后就是转移阵地了,搬到傍边的寝室,现在才忙完,散工;
转载地址:https://blog.csdn.net/zw1996/article/details/53793070 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
表示我来过!
[***.240.166.169]2024年04月03日 01时10分00秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
利用MySQL进行数据复杂查询(2)
2019-04-29
MySQL 表与表之间的关系
2019-04-29
Python数据处理
2019-04-29
Java练习题(面向对象)
2019-04-29
Python 利用os和shutil复制系统文件
2019-04-29
Python 循环输出菱形字符串
2019-04-29
MySQL常见错误总结
2019-04-29
pymysql 的基础应用
2019-04-29
Html+Css实现 启橙装饰网 项目
2019-04-29
JavaScript 实现哥德巴赫猜想
2019-04-29
JavaScript DOM
2019-04-29
Python 管理程序改进——连接MYSQL
2019-04-29
Python 爬虫
2019-04-29
Python 爬虫-百度风云榜的电影top50
2019-04-29
Python 爬虫-豆瓣影星图片下载
2019-04-29
Excel数据基础操作
2019-04-29
网页端数据库操作界面—主题函数文件
2019-04-29
网页端数据库操作界面-Html页面(1)
2019-04-29
网页端数据库操作界面-Html页面(2)
2019-04-29
网页端数据库操作界面-Html页面(3)
2019-04-29