Java 学习和实践笔记(19):this的使用方法

news2024/11/17 15:46:06

this用来指向当前对象的地址。

this的用法:

1)在普通方法中,this总是指向调用该方法的对象。在普通方法中,它是作为一种隐式参数一直就存在着(这句话的意思,就是其实在普通方法中,编译器一直就在用它,只是没有显示出来而已)

例如:

public class TestThis {
    int a, b, c;
    
    void sing(){ //这是一个普通方法
    }
    

    public static void main(String[] args) {
        TestThis abc = new TestThis();
        abc.sing();//abc这个对象调用sing()这个方法,实际上这时是this.abc.sing
        //只不过没有显示出来而已。这时this就指向abc这个对象的地址。

    }
}

2)在构造方法(即前面学习过的构造器)中,this总是指向正在初始化的对象。

public class TestThis {
    int a, b, c;

    TestThis(){//这是一个无参的构造方法
        
    }
    
    public static void main(String[] args) {
        TestThis abc = new TestThis();//这个时候this是指向abc
    }
}

3)在构造方法的重载中,用this避免相同的初始化代码。这种用法中,this必须放在构造方法的第一句。

public class User {
    int id;
    String name;
    String pwd;

    public User(){}

    public User(int id, String name, String pwd) {//上面已经
        //有一个构造方法,所以这里是构造方法重载
        //下面的this,就是为了在用这个构造方法时,可以正确将参数传递
        this.id = id;
        this.name = name;
        this.pwd = pwd;
    }

    public static void main(String[] args) {
        User u = new User();
        User u1 = new User(100,"Jason","12345678")


    }
}

4)this不能用于static方法中。

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

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

相关文章

林浩然与杨凌芸的Java泛型历险记:从类型安全到代码简洁,一场浪漫的编程革命

林浩然与杨凌芸的Java泛型历险记:从类型安全到代码简洁,一场浪漫的编程革命 Lin Haoran and Yang Lingyun’s Java Generics Adventure: A Romantic Programming Revolution from Type Safety to Code Simplicity 在那片充满逻辑与智慧的Java大陆上&…

家政小程序开发:帮助企业打造专属品牌,提升知名度

随着当下消费观念的升级,人口老龄化的严重,家政服务成为当下年轻人的必不可少的选择,我国家政服务市场的发展前景非常广阔。 如今,消费者对家政的需求日益多样化,家政市场数字化转型将成为一大发展趋势。在互联网等信…

开发分销商城小程序助力您的业务快速增长

一、什么是分销商城小程序? 分销商城小程序是一种基于微信平台开发的小程序,可以帮助商家快速建立自己的分销体系,实现商品的快速销售。 二、分销商城小程序的优势: 低成本:开发成本低,无需投入大量资金…

程序媛的mac修炼手册-- 小白入门Java篇

最近因为要用CiteSpace做文献综述,间接接触Java了。所以,继Python、C之后,又要涉猎Java了。刺激!! 由于CiteSpace与Java要求版本高度匹配,有个匹配详情明天为大家讲解。总之,我的Java之旅开始于…

“IT行业职业发展的黄金之路:哪些证书能为你增光添彩?“

文章目录 每日一句正能量前言1、浙大计算机程序设计能力考试证书(PAT)2、全国计算机等级考试证书(NCRE)3、计算机技术与软件专业资格考试证书(软考)4、通信专业技术人员职业水平证书5、全国计算机应用水平考试证书(NIT…

记录 使用FFMPEG 笔记本摄像头推流

一、使用 FFMPEG 测试摄像头拉流显示 # 获取摄像头名称 ffmpeg -list_devices true -f dshow -i dummy# 我笔记本上的摄像头名称如下 device_pnp_\\?\usb#vid_0408&pid_1020&mi_00#6&199e90f7&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global# 使…

做抖音小店怎么选品?给新手商家的三条建议,能让你销量猛增999+

大家好,我是电商花花。 总是担心店铺不出单,没有销量,看着断断续续的收益,新手商家应该都是愁容满面吧。 今天花花从是3个维度上给新手商家一些建议,讲解一下如何高效选品,加你如何让你出单猛增999。 以前…

模型 KISS复盘法

系列文章 分享 模型,了解更多👉 模型_总纲目录。重在提升认知。反思过去,不断进步。 1 KISS复盘法的应用 1.1 团队项目复盘 在一个团队项目结束后,团队成员可以使用KISS模型进行复盘,以总结经验教训并改进未来的工作…

个人博客系统测试

文章目录 一、项目介绍二、测试1. 功能测试2. 自动化测试(1)添加相关依赖(2)新建包并在报下创建测试类(3)亮点及难点 一、项目介绍 个人博客系统采用前后端分离的方法来实现,同时使用了数据库来…

【寸铁的刷题笔记】树、dfs、bfs、回溯、递归(二)

【寸铁的刷题笔记】树、dfs、bfs、回溯、递归(二) 大家好 我是寸铁👊 金三银四,树、dfs、bfs、回溯、递归是必考的知识点✨ 快跟着寸铁刷起来!面试顺利上岸👋 喜欢的小伙伴可以点点关注 💝 上期回顾 感谢大家的支持&am…

【MySQL 探索之旅】初始MySQL数据库

📚博客主页:爱敲代码的小杨. ✨专栏:《Java SE语法》 | 《数据结构与算法》 | 《C生万物》 ❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更新的动力❤️ 🙏小杨水平有…

【多线程】synchronized 关键字 - 监视器锁 monitor lock

synchronized 1 synchronized 的特性1) 互斥2) 可重入 2 synchronized 使用示例1) 修饰代码块: 明确指定锁哪个对象.2) 直接修饰普通方法: 锁的 SynchronizedDemo 对象3) 修饰静态方法: 锁的 SynchronizedDemo 类的对象 3 Java 标准库中的线程安全类 1 synchronized 的特性 1)…

代码随想录算法训练营第四十天|343. 整数拆分 96.不同的二叉搜索树

343. 整数拆分 链接:. - 力扣(LeetCode) 思路: 动态规划的题目虽然说是要先确定dp数组的含义,再确定递归公式,但是总感觉这两者是相辅相成的,是一起出来的,但是到此,dp数组…

第十二天-ppt的操作

目录 创建ppt文档 安装 使用 段落的使用 段落添加数据 段落中定义多个段落 自定义段落 ppt插入表表格 PPT插入图片 读取ppt 读取ppt整体对象 ​编辑 获取ppt文本 获取表格内容 创建ppt文档 安装 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple python…

ARM处理器有哪些工作模式和寄存器?各寄存器作用是什么?ARM异常中断处理流程?

《嵌入式工程师自我修养/C语言》系列——ARM处理器有哪些工作模式和寄存器?各寄存器作用是什么? 一、ARM处理器的工作模式及寄存器1.1 ARM处理器的工作模式1.2 ARM处理器中的寄存器 二、ARM 异常中断处理2.1 什么是异常?异常向量表是什么&…

自动化操作读写Excel —— xlrd 和 xlwt 模块参数说明与代码实战【第95篇—自动化操作读写Excel 】

自动化操作读写Excel —— xlrd 和 xlwt 模块参数说明与代码实战 在日常工作中,Excel表格是不可或缺的数据处理工具。为了提高工作效率,Python中的xlrd和xlwt模块为我们提供了强大的功能,使得自动化操作Excel变得更加简便。本文将介绍xlrd和…

SpringBoot -【BeanFactory】基础使用及应用场景

1.介绍 在 Spring 框架中,BeanFactory 是 Spring IoC 容器的核心接口,负责管理 bean 的创建、配置和装配。它是 Spring IoC 容器的基础。BeanFactory 接口定义了一系列方法,用于管理和访问容器中的 bean 对象。 BeanFactoryAware 用于在 Sp…

iOS调用系统已安装地图及内置地图实现

info.plist要添加scheme: 1.地图列表: NSArray *mapKeys=[[NSArray alloc] initWithObjects:@"com.autonavi.minimap",@"com.baidu.BaiduMap",@"com.google.android.apps.maps",@"com.tencent.map", nil]; NSArray *mapSchemes=[[NS…

劫持已经存在的DLL

这里找到一个成功加载的 这里先把原来程序正常的dll改名为libEGL1.dll,然后将我们自己的dll改名为libEGL.dll 然后再重新执行程序,这里同样是弹出了窗口

《教育教学论坛》期刊是什么级别?是核心期刊吗?是C刊吗?

​标题解答 问:《教育教学论坛》版面费? 答:VX:JDQJDQ444 问:《教育教学论坛》是核心期刊吗? 答:不是核心期刊 问:《教育教学论坛》是正规期刊吗? 答:是正规期刊 …