Java笔记 -- this关键字

this关键字代表当前对象。当前对象是指:
在构造方法中,this代表当前正在创建的对象
在成员方法中,this代表当前正在调用该方法的对象

// 成员方法
public class Prog{
 public static void main(String[] args){
  int a=5;
  Test test=new Test();
  test.method(a);// 调用方法时给方法传递的就是实际参数
  System.out.println(test.a);
 }
}
class Test{
 int a=10;
 int b=20;
 // 构造方法
public Test(int a){
 this.a=a;// 用构造方法给正在创建的对象的成员变量赋值
}
public Test(int a, int b){
 this(a);// 利用this关键字调用构造方法
 this.b=b;
}

 public void method(int a){
  this.a=a;
 }
}

在method方法中有两个变量的名称都是a,通过this关键字来区分成员变量和局部变量。
this表示调用本方法的当前对象,那么 this.a 就表示 对象名.成员变量名。
即等号右边是局部变量,等号左边通过this访问的变量是成员变量。
如果不用this来区分两个变量,就变成:a=a;将自己赋值给自己没有任何意义。
不用this来调用成员变量的话,则在方法中只能访问方法本身声明的变量,不能访问到成员变量。这也称为***属性隐藏问题***。
main方法的运行结果为:
5
其调用顺序为:
通过test.method(a);语句,将实参a的值赋给method方法的形参,在方法中形参又将值赋给成员变量,故最终成员变量的值为5而不是10

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值