java中this关键字的使用

Java 中构造方法与 this 关键字的正确使用 构造方法的目的:初始化当前对象的状态,而不是创建新对象。this 的正确用法this.name:访问当前对象的成员变量。this("参数"):调用同一类中的其他构造方法,实现代码复用。不能用类名调用构造方法:Student("默认姓名", 18);会导致编译错误或创建新对象,违背构造方法的初衷,可能引发逻辑错误或资源浪费。 阅读详情

hello,大家好,这里是可傥。说完final和static之后,今天我们继续来聊java中的关键字 this。 《JAVA编程思想》中对this是这么介绍的:this关键字只能在方法内部使用,表示对“调用方法的那个对象”的引用。我觉得说的很明白。this就是表示当前对象,即指向当前对象。下面具体展开this的用法。

一、成员变量

如下面代码:

public class User {
    private String name;

    public User(String name){
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;//以this来区分局部变量和成员变量
    }

    @Override
    public String toString() {
        return "User{" +
                "name='" + name + '\'' +
                '}';
    }
}

复制代码

大家应该都用过setter的方法,里面this.name = name;假设没有this,那么如何来区分调用setter方法的对象值和参数呢?所以this调用了该对象的成员变量name,把形参的值赋予对象中的name。

二、构造方法

一个类必须拥有大于等于1的构造方法,而在构造方法中,也可以用this去调用该对象的其他构造方法。如下面代码:

public class User {
    private String name;

    public User(String name){
        this.name = name;
    }

    public User(){
        this("ketang");
        System.out.println("this在构造方法中必须放在最前面");
        //放后面会报错:(编译器的规定)
        //Call to 'this()' must be first statement in constructor body
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return "User{" +
                "name='" + name + '\'' +
                '}';
    }
}
复制代码

构造方法中调用其他构造方法,我们可以用this来表示。

三、调用方法

this代表类的当前对象,对象可以调用方法,this也可以调用。某方法返回值为某类的时候,某个该类对象去调用该方法的时候,也可以通过return this表示返回该对象。


作者:可傥
链接:https://juejin.cn/post/7005197733238112292
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

一文读懂世界模型(World Model):AI的“数字大脑”,通往AGI的核心基石 世界模型正成为AI领域的关键技术,它让AI在虚拟环境中模拟物理世界规律并预测行动后果,从而减少现实试错成本。2018年Ha和Schmidhuber提出的VAE+RNN架构奠定基础,2022年后自监督学习推动快速发展。当前世界模型分为潜空间、生成式、强化学习和对象中心四大流派,已在机器人、自动驾驶、工业仿真等领域落地应用。尽管面临长时序预测误差等挑战,未来将向多模态建模、大模型融合等方向发展,成为实现具身智能和通用人工智能的核心基石。 阅读详情

相关推荐

团队管理中最棘手的6个问题

研发团队的管理棘手问题,大多集中在。

xiaolyuh的专栏 751

Call to ‘this()‘ must be first statement in constructor body异常解决和原因分析

this()和super()为构造方法,作用是在JVM堆中构建出一个对象。因为避免多次创建对象,所以一个方法只能调用一次this()或super()。this()和super()的调用只能写在第一行,避免操作对象时对象还未构建成功。而且this()和super()不能同时出现。 ...

m0_46692956的博客 6万+

nsight-system教程

参考nsight-compute使用教程-优快云博客。

youzjuer的博客 1894

Java基础学习——Java面向对象(五)继承、重写

一

skx1102195517的博客 2017

从零构建Carsim线控转向仿真:模型搭建、算法集成与整车联动实战

本文详细介绍了从零开始基于Carsim和Simulink搭建线控转向仿真模型的完整实战流程。内容涵盖RWA前轮执行器动力学建模与PID控制、卡尔曼滤波器估算齿条力、HWA方向盘手感模拟算法设计,以及最终实现HWA与RWA闭环联动并进行整车仿真调试。通过分步拆解,帮助读者深入理解线控转向系统的核心原理与工程实现。

weixin_29158413的博客 251

基于Canfestival的对象字典工具objdictedit.py的运行环境配置

本文以菜狗的视角,一步一步地对对象字典的环境进行配置,旨在能给读者一个比较详细的参考,不恰之处,还请指正。

在线求职中... 3711

详细介绍java关键字this的使用

java中this关键字的使用一、成员变量二、构造方法三、调用方法 hello,大家好,这里是可傥。说完final和static之后,今天我们继续来聊java中的关键字 this。 《JAVA编程思想》中对this是这么介绍的:this关键字只能在方法内部使用,表示对“调用方法的那个对象”的引用。我觉得说的很明白。this就是表示当前对象,即指向当前对象。下面具体展开this的用法。 一、成员变量 如下面代码: public class User { private String name;

kaneandblanche的博客 289

Arduino Uno R3开发板系列学习教程(番外篇:USB驱动安装与疑难排解)

本文详细介绍了Arduino Uno R3开发板USB驱动安装与疑难排解的完整指南,特别针对国产克隆版常见的CH340驱动问题提供解决方案。从识别开发板类型到Windows/Mac系统驱动安装步骤,再到常见问题排查与高级排错技巧,帮助开发者快速解决连接问题,确保程序烧录顺利进行。

weixin_29182481的博客 587

this的使用、静态代码块与实例代码块

this的使用、静态代码块与实例代码块 this的使用 1)this()指代一个被定义的构造方法 2)只存在于构造方法中 3)它必须是构造方法中的第一条语句,如果不是,会报下面错误: call to this must be first statement in constructor 它必须是构造方法中的第一条语句 class Date { private int year; private int month; private int day; public Date() {

qq_60416816的博客 684

4.6 知识库使用指南:如何让AI Agent拥有专业知识

本文介绍了如何为AI Agent构建和使用知识库。知识库的作用是为Agent提供专业知识,包含文档、数据和规则,可用于专业问答和知识检索。使用方法包括创建知识库(上传文档)、向量化处理、知识检索以及在Agent中的应用。核心要点是理解知识库的价值和使用流程。文章还提出了构建方法、检索优化和应用实践等思考题,建议准备高质量数据、优化检索效果并持续更新知识库。下节将介绍用LangGraph构建复杂AI应用。

yonggeit的博客 3013

RT-DETR改进策略【注意力机制篇】| 2024 PPA 并行补丁感知注意模块,提高小目标关注度

本文记录的是利用改进检测精度,详细说明了优化原因,注意事项等。原论文在红外小目标检测任务中,小目标在多次下采样操作中容易丢失关键信息。通过替代编码器和解码器基本组件中的传统卷积操作,更好地保留小目标的重要信息。HCF-Net: Hierarchical Context Fusion Network for Infrared Small Object Detection采用多分支特征提取策略,通过不同分支提取不同尺度和层次的特征。利用局部、全局和串行卷积分支,对输入特征张量进行处理。通过控制 patch si

Limiiiing的博客 1648

Call to ‘super()‘ must be first statement in constructor body

Call to 'super()' must be first statement in constructor body

见贤思齐焉,见不贤内自省 4517

uniapp [全端兼容] - 详细实现下拉筛选菜单功能组件,下拉式筛选菜单效果,类似电商美团点击筛选项底部弹出列表点击选择后自动收起(详细示例代码,全端兼容小程序、安卓苹果app、h5网页、nvue

uni-app,vue2,vue3,向下弹出菜单包含筛选功能,日期筛选,下拉框选择器,下拉多条件筛选,下拉式筛选菜单,uniApp如何实现条件下拉筛选,Uniapp官方条件筛选组件,下拉框式条件筛选插件组件,最好用的插件组件,多端兼容,下拉菜单筛选,过滤筛选列表,下拉筛选栏,多列联动的条件筛选,下拉菜单地区和筛选,微信小程序,支付宝小程序,h5网页,移动端网站,安卓app,苹果app,nvue,uniapp所有平台兼容,下拉菜单筛选,下拉式条件筛选,下拉列表,点击排序,级联筛选,uniapp实现下拉筛选

🏆 前端领域优质创作者 1万+

java中this关键字的两种使用

java中this关键字的两种使用 this关键字有两种使用方式。 首先我们来看第一种使用方式, 当成员变量与局部变量(参数)重名时,我们直接访问的是局部变量(参数),而不是成员变量。 我们如果想要访问成员变量,就需要在要访问的变量前加上this 语法: this.成员变量名 注意:this表示的是当前对象!!! this的第二种使用方式 构造器之间的相互调用。如果多个构造器之间有重复的代码,那么我们可以通过使用this(实参)来调用其它构造器, 从而避免重复代码的定义。 语法:t

长街yu巷的博客 509

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

java this关键字的使用_java中this关键字什么时候使用

1、当局部变量和成员变量重名的时候,在方法中使用this表示成员变量以示区分实例:class Demo{String str = "这是成员变量";void fun(String str){System.out.println(str);System.out.println(this.str);this.str = str;System.out.println(this.str);}}public...

weixin_39594439的博客 167

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

java this关键字的使用_java中this关键字的使用

package demo02; /* * 当方法的局部变量和类的成员变量重名的时候,根据就近原则,优先使用局部变量 * 如果需要访问本类中的局部变量,需要使用格式 * this.成员变量名 */ public class Person { String name; //自己的名字 //参数name是对方的名字 //成员变量name是自己的名字 public void sayH...

weixin_39920397的博客 62

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

【Java】this关键字的使用

1、类中的属性以后调用建议加上this;2、类中的构造方法间的互相调用,一定要保留出口;4、this调用构造方法的时候,要放在首行;5、this表示当前对象,指的是当前正在调用的类中方法的对象;,this.属性,当前对象的属性,堆内存保存的内容。

康师傅没有眼泪 2222

java this关键字的使用_Java this 关键字的使用方法详解

Java this 关键字的使用方法详解构造方法中的this关键字构造方法是一个类的对象在通过new关键字创建时自动调用的,在程序中不能向调用其他方法一样通过方法名(也就是类名)来调用。但如果一个类有多个构造方法,可以在一个构造方法中通过this(paras…)来调用其他的构造方法。使用this来调用其他构造方法有如下几个约束。1) 只能在构造方法中通过this来调用其他构造方法,普通方法中不能使...

weixin_42509267的博客 819

在Java中this关键字的使用

关键词:this 介绍 在学习Java中类的时候,你一定会接触到this关键字。this关键字指向的是当前对象的引用。 详解 首先,定义一个Person类 public class Person { String name; //名字 //参数who是对方的名字 //成员变量name自己的名字 public void sayHello(String who) { System.out.println(who + ",你好,我是:" + name);

qq_44723773的博客 1413

Java中什么是this关键字?什么时候必须使用this关键字?

this 关键字是常用的关键字,可用于任何实例方法内指向当前对象,也可指向对其调用当前方法的对象,或者在需要当前类型对象引用时使用。下面我们根据示例分别讲解 this 关键字的作用。

黑马程序员官方博客 2808

Java中this关键字及this()方法的使用

this关键字: 每实例化一个对象就会实例化一个this; this是一个对象中隐藏的引用变量,它保存了当前对象的内存地址,指向自身; this存储在堆内存当中对象的内部。 this只能使用在实例方法中。谁调用这个实例方法,this就是谁。显然静态方法中不能使用this,因为静态方法不需要实例化。 this大部分时候可以省略,在实例方法中,或者构造方法中,为了区分实例变量与局部变量,这种情况下,this不能省略。 this()的使用: 新语法,如果当前的构造方法区调用另一个本类中的构造方法时,可以使用t

pipizhen_的博客 4306

Java中super和this关键字的使用

在使用super和this关键字时, 以下描述正确的是() A. 在子类构造方法中使用super()显示调用父类的构造方法, super()必须写在子类构造方法的第一行, 否自编译不通过 B. super() 和 this() 不一定要放在构造方法内的第一行 C. this() 和 super() 可以同时出现在一个构造函数中 D. this() 和 super() 可以在static 环境中使用...

weixin_43235210的博客 5987

java中关键字this的使用

  在团队代码中看到对于当前类中的方法,使用了this关键字。经过测试发现,在此种情况下,this关键字的使用可有可无。因此,对java中this的使用做下总结: package testTHIS; public class TestTHIS { int flag = 0; public static void main(String[] ar...

angjiu8534的博客 149

AJPFX简述Java中this关键字的使用

Java中this关键字的使用主要有两处:   1、构造方法     this指的是调用构造方法进行初始化的对象。 //有参构造public Human(String name, int age) { this(); //调用无参构造 //this(name); //调用有参构造(参数为name的构造方法) this.name = name; this.age=...

AJPFX的博客 293

Java 中 this 关键字的使用场景

Java中this关键字的用法总结:1.区分成员变量与局部变量(最常见用法);2.调用当前类其他构造器(必须为首条语句);3.返回当前对象引用(支持链式调用);4.将当前对象作为参数传递;5.在内部类中引用外部类实例。注意事项:不能在静态上下文中使用,构造器中this()必须为首条语句且不能与super()共存。合理使用this能提高代码可读性和灵活性。

tryxr的博客 763

java this关键字的使用_【java】this和super关键字的比较

主要内容在这1张图片中,本文主要针对这两张图片进行展开和描述。1.this关键字 每个非静态类(不被static所修饰)方法,里面都内含有一个this关键字,当我们调用this关键字时候,指向这个类的对象。其次,在使用方法内的属性时候,也包含了一个this关键字,可以使用也可以不使用。this可以看作一个变量,它的值是当前对象的引用。this关键字只能在方法内部使用,表示对“调用方法的那个对象”...

weixin_39781945的博客 99
上一篇: 深入理解Java虚拟机笔记---判断对象是否存活
下一篇: 6万字《Spring框架从入门到精通》(建议收藏)
java111112313213
博客等级 码龄5年 15粉丝 73原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值