浅谈this关键字的三种常用用法:
来源:互联网 发布:mc9s12xs128单片机实验 编辑:程序博客网 时间:2024/06/06 00:06
1.区分成员变量与局部变量
当方法中的局部变量与成员变量同名时,成员变量在该方法中会被屏蔽,此时可以通过“this.成员变量名” 指明成员变量,使之与局部变量区分开:
public class Demo { private int year; private int month; private int day; public Demo(int year,int month,int day){ this.month=month;//使用this.month指明前面是成员变量,后面是形参 this.day=day; this.year=year; } public static void main(String[] args) { Demo d=new Demo(2017,11,20); System.out.println(d.year+"年"+d.month+"月"+d.day+"日"); }}
2.通过this调用构造方法
用法:tihs(参数列表)
该用法主要用于当对象需要带不同参数的构造方法应对不同情景而进行构造方法的重载时,减少重复代码。(注意:该用法仅能用于构造方法中,其他地方不能这样用。)
例如下面这种情况:
public class Demo { private int year; private int month; private int day; public Demo(int month,int day) { this.month=month; this.day=day; } public Demo(int year,int month,int day){ this(month, day); this.year=year; } public static void main(String[] args) { Demo d=new Demo(2017,11,20); System.out.println(d.year+"年"+d.month+"月"+d.day+"日"); }}
此时第一种构造方法里面已经有对month和day属性的初始化,所以在第二种构造方法中就可以直接调用,避免重复代码;而不是下面这样:
public class Demo { private int year; private int month; private int day; public Demo(int month,int day) { this.month=month; this.day=day; } public Demo(int year,int month,int day){ this.month=month; this.day=day; this.year=year; } public static void main(String[] args) { Demo d=new Demo(2017,11,20); System.out.println(d.year+"年"+d.month+"月"+d.day+"日"); }}
3.在方法中需要引用该方法所属类的当前对象时,直接用this
下例中:在show()方法中,通过“this.year”引用当前类对象d的成员变量year。
public class Demo { private int year; private int month; private int day; public Demo(int year, int month, int day) { this.month = month; this.day = day; this.year = year; } public void show() { System.out.println(this.year + "年" + this.month + "月" + this.day + "日"); } public static void main(String[] args) { Demo d = new Demo(2017, 11, 20); d.show(); }}
阅读全文
1 0
- 浅谈this关键字的三种常用用法:
- 关键字this的三种用法
- Java中this关键字的两种常用用法
- this关键字的用法
- this关键字的用法
- this关键字的用法
- this关键字的用法
- this 关键字的用法
- this 关键字的用法
- this 的三种用法
- java技术之01 关键字this的三大用法
- 关于this关键字的几种用法
- this 关键字的几种用法
- java this关键字的几种用法
- C#this关键字的四种用法
- 浅谈this函数的用法
- this-super关键字的用法
- java this关键字的用法
- 成为一名推荐系统工程师永远都不晚
- 升级新思固件 adb tool
- Idea配置文件无法读取或修改后无效问题
- 【AI芯片】第四波计算浪潮到来:人工智能需要怎样的硬件?
- leetcode 60. Permutation Sequence
- 浅谈this关键字的三种常用用法:
- Go接口
- String类的intern()方法详解
- inf安装驱动方式---win10下使用VS2015+WDK10生成win7 X64的设备驱动的过程
- Java学习
- 最大平均(和)子序列
- SQL Server的安全模型
- CAB归档文件提取工具cabextract
- 深入理解javascript原型和闭包(15)——闭包