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的三种常见用法相关推荐

  1. php 模拟post请求,php模拟post请求的三种常见用法

    本篇文章主要介绍php模拟post请求的三种常见用法,感兴趣的朋友参考下,希望对大家有所帮助. 本文实例讲述了php实现模拟post请求的方法,具体如下:class Request{ public s ...

  2. iOS---GCD的三种常见用法

    1.一次性代码:dispatch_once 有时候,有些代码在程序中只要被执行一次. 整个程序运行过程中,只会执行一次. - (void)viewDidLoad {[super viewDidLoad ...

  3. html中选择样式,html中css三种常见的样式选择器 zz

    1:标签选择器 标签选择器,是所有带有某种标签的都生效.这里以p为例,也就是所有的带有p标记的都会这样的样式 p{font:"宋体"; color:#FF0000} 我现在表现的是 ...

  4. 三种常见的Python赋值表达式的写法!

    Python的赋值表达式英文原名为Assignment Expressions,因为它太像海象了所以又被称为海象运算符.今天小千就来给大家介绍一下三种常见的赋值表达式的写法,大家来了解一下以防将来遇到 ...

  5. 深入学习jQuery的三种常见动画效果

    前面的话 动画效果是jQuery吸引人的地方.通过jQuery的动画方法,能够轻松地为网页添加视觉效果,给用户一种全新的体验.jQuery动画是一个大的系列,本文将详细介绍jQuery的三种常见动画效 ...

  6. C语言三种常见排序算法

    该博文为原创文章,未经博主同意不得转载,如同意转载请注明博文出处 本文章博客地址:https://cplusplus.blog.csdn.net/article/details/105112802 三 ...

  7. xp系统蓝屏代码7b_遇到系统问题,三种常见处理方法你更pick谁

    使用恢复功能之前请务必备份好数据,一旦操作可能导致数据无法恢复!!!卡慢.蓝屏.进不去系统?系统出现故障了,是拜托朋友还是外出花钱?求人不如求己,遇到系统问题 , 三种常见处理方法你更pick谁? 0 ...

  8. php给html传值,PHP传值到不同页面的三种常见方式及php和html之间传值问题_PHP

    在项目开发中经常见到不同页面之间传值在web工作中,本篇文章给大家列出了三种常见的方式. 接触PHP也有几个月了,本文总结一下这段日子中,在编程过程里常用的3种不同页面传值方法,希望可以给大家参考.有 ...

  9. java常见的ide_在三个Java IDE中生成的三种常见方法

    java常见的ide 在本文中,我研究了NetBeans 8.0.2 , IntelliJ IDEA 14.0.2和Eclipse Luna 4.4.1生成的三种"通用"方法[ e ...

最新文章

  1. mysql M/S配置小记
  2. Tech Ed上Windows 7值得关注的课程
  3. syslog介绍-CS架构来采集系统日志
  4. Gradle复制文件/目录方法
  5. 课堂作业整理三 (集合:list接口)
  6. 产品级垃圾文本分类器
  7. 044. asp.net主题之二为主题添加CSS样式和动态加载主题
  8. C# string 特殊的引用类型
  9. javascript 弹出层(警告框)的制作(css元素居中、javascript元素居中)
  10. 16家上市银行股票代码
  11. nmap扫描服务器端口不稳定,端口扫描命令nmap
  12. kubernetes networkpolicy网络策略详解
  13. JavaGUI--模拟QQ聊天界面私聊群聊
  14. 文艺爱好---英文单词
  15. uniapp 微信登录取消授权,以及不等待你做出授权选择就执行方法体
  16. excel2007整体调整行间距
  17. Stm32H7XX GCC下分散加载实现
  18. 美国大学生数学建模matlab,2019MCM美国大学生数学建模竞赛A题赛后总结
  19. 左旋字符串例如AABCD旋转一位后为ABCDA,旋转两位为BCDAA
  20. 「 Vortex 仿真软件 」 Windows系统安装

热门文章

  1. php ajax 考试倒计时,ajax实现在线考试倒计时
  2. 神经网络滤镜是啥功能,神经网络滤镜不能用
  3. neutron-server.service启动失败显示代理报错http://controller:9696/v2.0/agents.json
  4. mysql rds云数据库_云数据库 RDS MySQL快速入门手册
  5. bag of tricks for image classification with convolutional neural networks
  6. link和import的区别,src和href的区别,css hark 以及HTML5及css3的新增特性
  7. 给电脑文件批量重命名和更改后缀名
  8. pycharm如何设置官方中文?pycharm如何汉化?pycharm终于支持官中了!!!
  9. Parameter Sniffing
  10. 基于STM32F103C8T6的充电桩计费系统(程序+原理图+PCB+论文)