理解Java中this作为返回值的含义与实例
103 浏览量
更新于2024-09-01
收藏 261KB PDF 举报
在Java编程中,当一个方法的返回值使用`this`关键字时,实际上返回的是当前对象的引用。这里的`this`代表的是当前正在执行该方法的对象实例。理解`this`作为返回值的关键在于,它不是返回具体的值,而是返回一个指向该对象自身的内存地址的引用。
在方法内部,`return this;`这样的语句意味着,当你调用一个包含此类返回语句的方法时,它并不会创建一个新的对象,而是返回当前方法所属对象的引用。这个引用可以被赋值给其他变量,如在示例中的`reThis1()`和`reThis2()`方法中,`return this;`使得`per`变量接收并引用了调用`reThis1()`方法后生成的`Person`对象。
例如,在`reThis1()`方法中,`return this;`返回的是一个新创建的`Person`对象,然后在`reThis2()`中,`per = reThis1();`将这个新对象的引用赋给了`per`。而在`reThis3()`方法中,尽管`name`属性被改变,但`return this;`返回的仍然是同一个对象的引用,因为没有创建新的对象实例。
当我们通过`equRefer()`静态方法比较两个`Person`对象的引用时,`per1 == per2`用于检查两个引用是否指向同一个内存地址,从而判断它们是否代表同一个对象实例。在这个例子中,`reThis1()`和`reThis2()`的返回结果会显示`per1`指向的对象与`per2`指向的是同一个对象,因为它们都是从`reThis1()`方法中返回的`this`引用。
总结来说,Java中`this`作为返回值时,返回的是当前执行该方法的对象实例的引用,这对于理解和管理对象的状态以及避免不必要的对象复制非常重要。通过使用`this`返回值,开发者可以在适当的时候保持对原始对象的控制,确保方法调用的意图得以正确实现。
2020-08-30 上传
2020-08-19 上传
2020-08-29 上传
2021-01-19 上传
2020-10-22 上传
2020-08-27 上传
2021-01-19 上传
2020-10-19 上传
2020-11-23 上传
weixin_38715721
- 粉丝: 5
- 资源: 965
最新资源
- WordPress作为新闻管理面板的实现指南
- NPC_Generator:使用Ruby打造的游戏角色生成器
- MATLAB实现变邻域搜索算法源码解析
- 探索C++并行编程:使用INTEL TBB的项目实践
- 玫枫跟打器:网页版五笔打字工具,提升macOS打字效率
- 萨尔塔·阿萨尔·希塔斯:SATINDER项目解析
- 掌握变邻域搜索算法:MATLAB代码实践
- saaraansh: 简化法律文档,打破语言障碍的智能应用
- 探索牛角交友盲盒系统:PHP开源交友平台的新选择
- 探索Nullfactory-SSRSExtensions: 强化SQL Server报告服务
- Lotide:一套JavaScript实用工具库的深度解析
- 利用Aurelia 2脚手架搭建新项目的快速指南
- 变邻域搜索算法Matlab实现教程
- 实战指南:构建高效ES+Redis+MySQL架构解决方案
- GitHub Pages入门模板快速启动指南
- NeonClock遗产版:包名更迭与应用更新