this的三种常见用法
this的常见用法
一、第一种:this用来区分局部变量和成员变量;
当形参名称与该方法内部的成员名称冲突时,使用this可以对其进行区分;
public class usingOfThis {private int age;private String name;public usingOfThis(int age, String name) {this.age = age; //this.age就代表的是该方法的成员变量this.name = name; //this.name代表的是该方法的成员变量}
}
二、第二种:this用来指代对象本身,(类里面的方法要通过对象来调用,即:对象.方法()。此时this就代表调用方法的对象)
测试代码
public class ThisTest {public static void main(String[] args) {usingOfThis one = new usingOfThis(23, "zjh");usingOfThis twO = new usingOfThis(23, "zjh");System.out.println(one.equals(twO));}
}
类中的方法
@Overridepublic boolean equals(Object obj) {if (null == obj) {return false;}if (this == obj) {return true;}if (!(obj instanceof usingOfThis)) {return false;}usingOfThis number = (usingOfThis)obj;return this.age == number.age && this.name.equals(number.name);}
测试代码中有这样一行代码:System.out.println(one.equals(twO));one这个对象引用类中的equals()方法时,此时方法中的this就是one,this.age就是one.age。
三、第三种:this用来表示构造方法。
public usingOfThis() {this(0, null);
}
这个this(0, null)就是该类中的双参构造方法
用来表示构造方法时,需注意
- this()只能在构造方法中使用。
- this()只能出现在构造方法中的第一行。
- this()使用要避免递归问题。
this的三种常见用法相关推荐
- php 模拟post请求,php模拟post请求的三种常见用法
本篇文章主要介绍php模拟post请求的三种常见用法,感兴趣的朋友参考下,希望对大家有所帮助. 本文实例讲述了php实现模拟post请求的方法,具体如下:class Request{ public s ...
- iOS---GCD的三种常见用法
1.一次性代码:dispatch_once 有时候,有些代码在程序中只要被执行一次. 整个程序运行过程中,只会执行一次. - (void)viewDidLoad {[super viewDidLoad ...
- html中选择样式,html中css三种常见的样式选择器 zz
1:标签选择器 标签选择器,是所有带有某种标签的都生效.这里以p为例,也就是所有的带有p标记的都会这样的样式 p{font:"宋体"; color:#FF0000} 我现在表现的是 ...
- 三种常见的Python赋值表达式的写法!
Python的赋值表达式英文原名为Assignment Expressions,因为它太像海象了所以又被称为海象运算符.今天小千就来给大家介绍一下三种常见的赋值表达式的写法,大家来了解一下以防将来遇到 ...
- 深入学习jQuery的三种常见动画效果
前面的话 动画效果是jQuery吸引人的地方.通过jQuery的动画方法,能够轻松地为网页添加视觉效果,给用户一种全新的体验.jQuery动画是一个大的系列,本文将详细介绍jQuery的三种常见动画效 ...
- C语言三种常见排序算法
该博文为原创文章,未经博主同意不得转载,如同意转载请注明博文出处 本文章博客地址:https://cplusplus.blog.csdn.net/article/details/105112802 三 ...
- xp系统蓝屏代码7b_遇到系统问题,三种常见处理方法你更pick谁
使用恢复功能之前请务必备份好数据,一旦操作可能导致数据无法恢复!!!卡慢.蓝屏.进不去系统?系统出现故障了,是拜托朋友还是外出花钱?求人不如求己,遇到系统问题 , 三种常见处理方法你更pick谁? 0 ...
- php给html传值,PHP传值到不同页面的三种常见方式及php和html之间传值问题_PHP
在项目开发中经常见到不同页面之间传值在web工作中,本篇文章给大家列出了三种常见的方式. 接触PHP也有几个月了,本文总结一下这段日子中,在编程过程里常用的3种不同页面传值方法,希望可以给大家参考.有 ...
- java常见的ide_在三个Java IDE中生成的三种常见方法
java常见的ide 在本文中,我研究了NetBeans 8.0.2 , IntelliJ IDEA 14.0.2和Eclipse Luna 4.4.1生成的三种"通用"方法[ e ...
最新文章
- mysql M/S配置小记
- Tech Ed上Windows 7值得关注的课程
- syslog介绍-CS架构来采集系统日志
- Gradle复制文件/目录方法
- 课堂作业整理三 (集合:list接口)
- 产品级垃圾文本分类器
- 044. asp.net主题之二为主题添加CSS样式和动态加载主题
- C# string 特殊的引用类型
- javascript 弹出层(警告框)的制作(css元素居中、javascript元素居中)
- 16家上市银行股票代码
- nmap扫描服务器端口不稳定,端口扫描命令nmap
- kubernetes networkpolicy网络策略详解
- JavaGUI--模拟QQ聊天界面私聊群聊
- 文艺爱好---英文单词
- uniapp 微信登录取消授权,以及不等待你做出授权选择就执行方法体
- excel2007整体调整行间距
- Stm32H7XX GCC下分散加载实现
- 美国大学生数学建模matlab,2019MCM美国大学生数学建模竞赛A题赛后总结
- 左旋字符串例如AABCD旋转一位后为ABCDA,旋转两位为BCDAA
- 「 Vortex 仿真软件 」 Windows系统安装
热门文章
- php ajax 考试倒计时,ajax实现在线考试倒计时
- 神经网络滤镜是啥功能,神经网络滤镜不能用
- neutron-server.service启动失败显示代理报错http://controller:9696/v2.0/agents.json
- mysql rds云数据库_云数据库 RDS MySQL快速入门手册
- bag of tricks for image classification with convolutional neural networks
- link和import的区别,src和href的区别,css hark 以及HTML5及css3的新增特性
- 给电脑文件批量重命名和更改后缀名
- pycharm如何设置官方中文?pycharm如何汉化?pycharm终于支持官中了!!!
- Parameter Sniffing
- 基于STM32F103C8T6的充电桩计费系统(程序+原理图+PCB+论文)