Java中的return this

Java中的return this

return this就是返回当前对象的引用(就是实际调用这个方法的实例化对象)

示例:

     /*** 资源url*/public HttpConfig url(String url) {urls.set(url);//return this就是返回当前对象的引用(就是实际调用这个方法的实例化对象)return this;}

调用样例:

HttpConfig  config = HttpConfig.custom();
config = config.url(url);

java里的return this是什么意思

public class book {private int id;private String name;private String dategory;public String getName(){int id=0;setName("java");return id+this.name;}private void setName(String name){this.name=name;}public book getBook(){return this;}
}

最上面的几个return明白怎么回事,就是最后的return this不知道是什么,书上说是对Book 类的对象进行返回,不明白书上说的是什么意思.也没有个输出结果
后来我在后面加了一句

public static void main(String[] args) {book a=new book();System.out.println(a.getBook());
}

结果输出 book@de6ced, 弄的我天昏地暗.到底是什么意思??
我问的就是什么叫返回对象,它有什么意义

return this就是返回当前这个类的一个实例 this 就是代表当前这个类的一个实例

这里的 this 就相当于 new book()的意思,就是返回调用这个方法的对象……

java中return this 指的是返回类的当前对象。
return this; 语句一般都是用在类中非静态方法的末尾。我们知道java是面向对象的语言,在java语言中类是对象的抽象,而对象是类的具体实现。因此在java中类的非静态方法是属于对象的,this则代表当前这个非静态方法属于的对象,并且是当前类的对象。 而对于return this;可能是由于根据需求需要将当前的这个对象作为返回值,以便接收,并且这个非静态方法的返回值类型据我所知只能为三种情况:父类,当前类,实现的接口。
可能说的有点抽象,有点乱,推荐这种东西需要自己在平常编程的时候多思考,多研究,代码写多了,自然就理解了。

java return this 的笔记

rerurn this用来返回当前对象的引用
比如:Person person;这里的person就是一个Person的引用
Person person = new Person();–>person指向Person对象的地址
在这里插入图片描述

public class testThis {public static void main(String[] args) {testThis t= new testThis();t.A().B();}testThis A() {System.out.println("A");return this;}void B() {System.out.println("B");}
}

执行结果: A B
t.A() 后返回了当前对象的引用,等于说B方法其实也是被 t 这个引用调用的!

return this 指的是返回类的当前对象。return this; 语句一般都是用在类中非静态方法的末尾;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/556046.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mybatis 依赖于jdbc_大数据基础:Mybatis零基础入门

在Java企业级开发任务当中,持久层框架的选择,国内市场的主流选择一定有Mybatis的一席之地,从入门来说,Mybatis的学习难度不算高,但是要把Mybatis发挥出真正的效用,还是需要深入学习的。今天的大数据基础分享…

kendo treeview 修改节点显示值_VBA学习笔记60-1: Treeview控件

学习资源:《Excel VBA从入门到进阶》第60集 by兰色幻想本节讲Treeview控件。TreeView控件是以树形结构显示数据的控件。利用TreeView控件,可以设计出树形结构图,便于用户选择不同的项目。总公司人事结构是一级节点,公司一、公司二…

Java之路:this关键字的用法

(1)this代表当前对象的一个引用。所谓当前对象,指的是调用类中方法或属性的那个对象。 最经常使用this关键字的情况,是在对象的一个属性被方法或构造器的参数屏蔽时,需要调用这个被屏蔽的属性,如下&#xf…

跑分cpu_一加8T现身跑分网站:CPU正式敲定 10月15日见

一加8T将于10月15日发布(海外版将于10月14日发布),现在关于一加8T的核心规格确认。今天,一加8T现身GeekBench跑分网站,确认该机搭载的是高通骁龙865旗舰处理器,而非高通骁龙865 Plus。与搭载高通骁龙865的一加8相比,一…

发那科攻丝回退参数_乐享:发那科MF选配功能诊断小结

小编微信:shukong99999乐享数控,专注数控电气乐享那科选项功能小结大家好,我是乐享数控,好久不见,今天起,给大家多总结,相互交流进步。1发那科MF选项功能诊断小结在调试过程中,除了M…

matlab怎么画二维热力图_[原创]Day3.箱线图和热力图的绘制

使用Matplotlib和Seaborn进行绘制箱线图和热力图。箱线图箱线图(boxplot)又称盒式图,可以显示数据的分散情况,由五个数值点组成:最大值(max)-上界、最小值(min)-下界、中位数(median)和上下四分位数(Q1, Q3)。它可以帮我们分析出数据的差异性…

vue图片点击超链接_10秒钟,告别ppt中难看的超链接

我相信大多数同学在创建超链接的时候都很疑惑为什么字体颜色会变成蓝色,且下方会出现一条横线,能不能把横线去掉或者改变颜色呢?零壹君回答你:能!快来跟零壹君一起学习吧!选中文字—点击【插入】—【超链接…

arr数组怎么取值_记一次思否问答的问题思考:Vue为什么不能检测数组变动

作者 | hfhan来源 | https://segmentfault.com/a/1190000015783546问题描述:Vue检测数据的变动是通过Object.defineProperty实现的,所以无法监听数组的添加操作是可以理解的,因为是在构造函数中就已经为所有属性做了这个检测绑定操作。但是官…

使用 ref 对已渲染到页面的节点进行标记

一、字符串形式的 ref <input type"text" /*给标签打上标记 ipt */ ref"ipt" />拿到标记的节点&#xff0c;对其进行操作 handleClick () > {console.log(this);// 用 ref 标记了的标签&#xff0c;都会保存在 refs 里面console.log(this.refs…

JAVA之private修饰成员方法默认是final型的?

Java之private修饰成员方法默认是final型的&#xff1f; private修饰的成员方法默认是final型的&#xff1f; 用fianl声明的成员方法是最终方法&#xff0c;最终方法不能被子类覆盖&#xff08;重写&#xff09; 从表面上看这个命题是错误的&#xff0c;private访问修饰符修饰…

程序员你真的理解final关键字吗?

文章目录1、修饰类2、修饰方法3、修饰变量4、final变量修饰变量&#xff08;成员变量、局部变量&#xff09;4、1 final修饰成员变量&#xff1a;4、2 final修饰局部变量&#xff1a;5、final变量和普通变量的区别6、final与static的藕断丝连7、关于final修饰参数的争议前言 提…

axios vue 动态date_Web前端Vue系列之-Vue.js 实战

课程简介&#xff1a;课程目标&#xff1a;通过本课程的学习&#xff0c;让大家掌握Vue.js的进阶知识并在项目中应用。适用人群&#xff1a;具有一定vue开发基础的开发人员。课程概述&#xff1a;Vue (读音 /vjuː/&#xff0c;类似于 view) 是一套用于构建用户界面的渐进式Jav…

vue 组件 - 非单文件组件

一、定义组件 const school Vue.extend({name: xuexiao, // ----------------------------> 指定组件在开发者工具中显示的名字template: // ----------------------------> 模板<div>... 此处是结构</div>,data() { // ---------------------------->…

matlab安装好 启动总是闪退_在Ubuntu16.04下安装MATLAB2017b

1. 前言最近在折腾Ubuntu系统的高端机子&#xff0c;matlab这家伙的交互和可视化太方便了&#xff01;于是想在Linux下安装matlab&#xff0c;在各个版本中&#xff0c;matlab2017的性价比是非常高的&#xff0c;因此选择安装介个。阅读了很多帖子&#xff0c;综合找到几个靠谱…

vue 脚手架

一、 脚手架 初始 全局安装脚手架 npm i -g vue/cli切换到项目根目录&#xff0c;使用 vue create 项目名称 创建项目使用 npm run serve | yarn serve 启动项目 如果中途卡顿 使用 npm 淘宝镜像 npm config set registry --> https://registry.npm.taobao.orgvue 隐藏了…

这篇文章绝对让你深刻理解java类的加载以及ClassLoader源码分析

前言 package com.jvm.classloader;class Father2{public static String strFather"HelloJVM_Father";static{System.out.println("Father静态代码块");} }class Son2 extends Father2{public static String strSon"HelloJVM_Son";static{Syste…

bigdecimal js 判断等于0_为啥阿里禁用BigDecimal的equals方法做等值比较

BigDecimal&#xff0c;相信对于很多人来说都不陌生&#xff0c;很多人都知道它的用法&#xff0c;这是一种java.math包中提供的一种可以用来进行精确运算的类型。很多人都知道&#xff0c;在进行金额表示、金额计算等场景&#xff0c;不能使用double、float等类型&#xff0c;…

git提交到github总是要输入密码_GitHub不为人知的秘密

本来想叫《GitHub骚操作》的&#xff0c;发现相关的文章已经有很多&#xff0c;而且和我本章要讲的内容完全不同&#xff0c;所以就换了这个也算贴切的标题。起因之前写过一篇文章《VM Manager 插件分享》&#xff0c;事后我发现有个地方不对劲&#xff01;看之前文章标题大家应…

MyBatis中大于号以及小于号的表达方式

mybatis使用的是xml格式的文件。使用>和<号的时候&#xff0c;会存在与xml的标签的规范冲突。 1.场景还原 在实际项目中&#xff0c;有很多需求需要通过设定一个具体的时间段来搜索或过滤所需的数据&#xff0c;今天笔者就mybatis中时间比较涉及到的大于&#xff0c;小于…

ug冲模标准件库_昆山兴模lt;携手gt;武汉益模,打通冲模“智能设计+精益管理”的最后一道关卡...

武汉益模科技股份有限公司是国内领先的工业互联网及智能制造的解决方案提供商&#xff0c;为模具、装备、军工、汽车、家电及等有柔性化生产需求的工厂提供专业的智能设计/信息化管理/智能加工/数字化工厂等工业软件、工业机器人自动化以及智能装备&#xff0c;拥有麦格纳、安波…