面向对象编程基础 二 this的用法

this可以简单的理解为当前的对象,在构造对象时可以理解为对象的第一人称“我”。this一般被分为三种用法:

1、this表示对象成员变量的引用而非函数参数变量,如下面的代码

public class Test{
private int i;
public void fun(int i){
this.i = i+1;
}
}

 
 上面的this.i即表示当前当前成员变量的私有成员变量i,而并非void fun(int i)函数中的整型参数i。 

2、this表示在类中含有多个构造函数时,其中一个构造函数调用另一个构造函数时调用,如下面的代码

public class Test{
private int i;
public void fun(int i){
this.i = i+1;
}
Test(String s){
System.out.println(s);
}
Test(int i,String s){
this(s);
this.i = i;
}
}


在第二个构造函数中直接用this(s)来调用第一个构造函数,方便,但在使用时一定要注意顺序,this(s),this调用的构造函数的语句一定要在函数的第一条语句,否则会报错提示,对this的调用必须构造函数的第一个语句。在同一个构造函数中只能有一个this(参数列表)这样的引用否则下面的一个肯定会报错。所以如果一定会用到两个this(参数列表),则将其中一个放在上面一个构造函数里面,即将两个this(参数列表)分开放在两个不同的构造函数,不能同时使用,但能嵌套使用。另外this(参数列表)这种使用方法只能是在构造函数里面才能这么使用,其他地方没有这种用法。

3、this表示一个对象的指针,如在函数中return this即表示传回当前的对象。在函数中,需要引用该函数所属类的当前对象时候,直接用this、

需要注意的是,Java中关键字this只能用于方法体内,当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是this。因此,this只能在类中的非静态方法中使用,静态方法和静态代码块中绝对不能出现this。

总上所述,this其实就是指向一个对象本身的指针

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值