java中this的用法简介

this关键字来表示当前类

微笑微笑微笑

它有一下三种用法:


1.当成员变量的名字和局部变量的名字相同时,如果要在方法中访问(引用)成员变量,可以用 this关键字
例如:
class Circle{
private int x,y;          //定义一个成员变量
public void set(int x,int y){        //定义两个参数x,y(局部变量)
this.x=x;                           //将局部变量的值赋给成员变量
this.y=y;
}
}

解释:上面的例子中成员变量x,y和局部变量是同名的,我们要做的是将参数(即局部变量)中的值赋给成员变量,我们可以很容易的理解这个过程,但在java程序中是怎么区分的呢?

这就要用到this了,因为this可以指定类中的成员变量或者方法,只要在变量名前加上this,就说明该变量是类的成员变量,对于方法,亦是如此。

当然也可以通过创建对象的方法来访问(引用)成员变量或方法,但是为了程序的可读性,一般程序员都会用this代替这种方法。
2.在方法中,可以通过this关键字可访问当前类的成员变量和方法
例如:
class Circle{
private int x;
public void f(){
this.x=10;
this.h();
}
prvate void h(){
}
}

3.辅助调用构造类的调用方法,尤其是当构造方法有多个时
例如:
class Point3D extends Point2D{
protected int x,y,z;
public Point3D(int x,int y){                 //第一个构造方法
//调用类的另一个构造方法,并给实参
his(x,y,0);
}
public Point3D(int x,int y,int z){             //第二个构造方法
this.x=x;
this.y=y;
this.z=z;
}
}


解释:有多个同名的构造方法时,this到底调用的是哪个呢?

这是由this后的参数个数决定的,参数是多少个就调用参数同样多的构造方法。
当然也有限制,就是在无参的构造方法中调用有参构造方法时,this语句必须在首行,否则会出错。
而使用this访问(引用)成员变量时则没有这种限制了,这点很容易混淆,如果分不清,还是使用传统的方法比较好。


总结:
···this关键字主要有三个应用:
(1)this调用本类中的属性,也就是类中的成员变量;
(2)this调用本类中的其他方法;

(3)this调用本类中的其他构造方法,调用时要放在构造方法的首行。




  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值