广告
返回顶部
首页 > 资讯 > 精选 >浅谈Java中的this作为返回值时返回的是什么
  • 517
分享到

浅谈Java中的this作为返回值时返回的是什么

javathis返回值 2023-05-30 21:05:11 517人浏览 独家记忆
摘要

有时会遇到this作为返回值的情况,那么此时返回的到底是什么呢?返回的是调用this所处方法的那个对象的引用,读起来有点绕口哈,有没有想起小学语文分析句子成份的试题,哈哈。一点点分析的话,主干是“返回的是引用”;什么引用呢?“那个对象的引用

有时会遇到this作为返回值的情况,那么此时返回的到底是什么呢?

返回的是调用this所处方法的那个对象的引用,读起来有点绕口哈,有没有想起小学语文分析句子成份的试题,哈哈。

一点点分析的话,主干是“返回的是引用”;

什么引用呢?“那个对象的引用”;

哪个对象呢?“调用方法的那个对象”;

调用的哪个方法呢?“调用的是this所位于的方法”;这样就清楚了。

总结一下就是,this作为返回值时,返回的是调用某方法的对象的引用,这个方法正是包含“return this;”这行命令的那个方法;更简单点说,就是谁调用返回的就是谁。

为了更清楚、直观的理解问题,下面以简单的例子说明。

包human中定义了Person类,代码如下:

package human;public class Person { String name; int age;  public Person() {   } public Person(String n, String g) {  name = n;  gender = g; }  //test:this作返回值 Person reThis1() {  Person per = new Person("lu","female");  System.out.println("reThis1 per:" + per.name);  return this; } Person reThis2() {  Person per = reThis1();  System.out.println("reThis2 per:" + per.name);  return this; } Person reThis3() {  name = "ma";  return this; } static void equRefer(Person per1, Person per2) {  if(per1 == per2)   System.out.println("per1指向的对象没有改变,仍与per2指向同一个对象");  else   System.out.println("per1指向的对象已改变,与per2指向不同的对象");  System.out.println("per1:" + per1.name);  System.out.println("per2:" + per2.name); }  public static void main(String[] args) {  Person per1 = new Person("liu","female");  Person per2 = per1;    per1 = per1.reThis1();  Person.equRefer(per1, per2);     per1 = per1.reThis2();  Person.equRefer(per1, per2);    System.out.println("调用reThis3之前,per1.name=" + per1.name);  per1 = per1.reThis3();  System.out.println("调用reThis3之后,per1.name=" + per1.name); }}

--结束END--

本文标题: 浅谈Java中的this作为返回值时返回的是什么

本文链接: https://www.lsjlt.com/news/221654.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 浅谈Java中的this作为返回值时返回的是什么
    有时会遇到this作为返回值的情况,那么此时返回的到底是什么呢?返回的是调用this所处方法的那个对象的引用,读起来有点绕口哈,有没有想起小学语文分析句子成份的试题,哈哈。一点点分析的话,主干是“返回的是引用”;什么引用呢?“那个对象的引用...
    99+
    2023-05-30
    java this 返回值
  • 浅谈Java中GuavaCache返回Null的注意事项
    Guava在实际的Java后端项目中应用的场景还是比较多的,比如限流,缓存,容器操作之类的,有挺多实用的工具类,这里记录一下,在使用GuavaCache,返回null的一个问题 I...
    99+
    2022-11-12
  • JavaScript的返回值是什么
    这篇文章主要介绍“JavaScript的返回值是什么”,在日常操作中,相信很多人在JavaScript的返回值是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JavaSc...
    99+
    2022-10-19
  • es6中includes返回的值是什么
    这篇文章主要讲解了“es6中includes返回的值是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“es6中includes返回的值是什么”吧!es6中includes()返回的是布尔值...
    99+
    2023-07-05
  • BaseMapper insert的返回值是什么
    BaseMapper 是 MyBatis 的一个接口,用于插入一条记录。该接口的 insert 方法返回值是 int 类型,表示插入记录的数量。如果插入成功,则返回 1;否则返回 0。 例如: int result = userMa...
    99+
    2023-09-08
    mybatis 数据库 java mysql sql
  • Asp Conn.execute的返回值是什么
    `Conn.Execute` 方法是在 Classic ASP 中用于执行 SQL 查询或命令的方法。它返回一个表示查询结果的对象,...
    99+
    2023-08-14
    Asp
  • python中函数返回值的作用是什么
    python中函数返回值的作用是什么?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。python可以做什么Python是一种编程语言,内置了许多有效的工具,Pyt...
    99+
    2023-06-14
  • php中返回值的含义是什么
    本篇内容介绍了“php中返回值的含义是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在PHP中,返回值就是把函数运算的结果从函数内部取出...
    99+
    2023-06-29
  • Ajax的返回值类型是什么
    这期内容当中小编将会给大家带来有关Ajax的返回值类型是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1、返回值之XML类型如果服务器的响应头中Content-type的内容为text/xml时,此时...
    99+
    2023-06-08
  • mysql insert返回值指的是什么
    本篇内容主要讲解“mysql insert返回值指的是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql insert返回值指的是什么”吧! ...
    99+
    2023-04-14
    mysql insert
  • javascript方法返回值指的是什么
    这篇“javascript方法返回值指的是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“javascript方法返回值指...
    99+
    2023-07-06
  • ExecuteBatch方法在java中返回值为-2的数组
    在Java中,`executeBatch()`方法是用于批量执行SQL语句的方法,它返回一个整数数组。这个数组包含了每个SQL语句的...
    99+
    2023-09-27
    Java
  • 如何将 MySQL 表中的列值作为一组值返回?
    借助MySQL的MAKE_SET()函数,我们可以将MySQL表中的列值作为一组值返回。为了理解它,我们以Student_Name表为例,其中包含以下数据−mysql> Select * from Student_N...
    99+
    2023-10-22
  • Mybatis Select Count(*)的返回值类型是什么
    本篇内容介绍了“Mybatis Select Count(*)的返回值类型是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读...
    99+
    2023-06-22
  • es6中includes返回的是什么
    本教程操作环境:windows7系统、ECMAScript 6版、Dell G3电脑。includes() 方法用于判断字符串/数组是否包含指定的值;会返回一个布尔值,表示字符串/数组是否包含给定的值。语法:ojb.includes(sea...
    99+
    2023-05-14
    javascript ES6
  • python中返回函数的作用是什么
    这期内容当中小编将会给大家带来有关python中返回函数的作用是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。python可以做什么Python是一种编程语言,内置了许多有效的工具,Python几乎无...
    99+
    2023-06-14
  • mybatis保存的时候返回值为数据库中主键的id值
    select last_insert_id(); insert into t_user (id, avatar, create_time, email, nick_name, password, ...
    99+
    2020-06-24
    mybatis保存的时候返回值为数据库中主键的id值 数据库入门 数据库基础教程 数据库 mysql
  • .NET提取Thread返回值的方法是什么
    这篇文章主要介绍“.NET提取Thread返回值的方法是什么”,在日常操作中,相信很多人在.NET提取Thread返回值的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”.NET提取Thread返回值...
    99+
    2023-06-26
  • python的函数形参和返回值是什么
    这篇文章主要介绍了python的函数形参和返回值是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python的函数形参和返回值是什么文章都会有所收获,下面我们一起来看看吧。函数的返回值一个函数执行后可以返回...
    99+
    2023-06-29
  • 返回最大值的index pytorch方式是什么
    这篇文章主要讲解了“返回最大值的index pytorch方式是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“返回最大值的index pytorch方式是什么”吧!返...
    99+
    2023-07-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作