this理解

  this 作用

1.在return中使用, 返还当前对象的句柄

书中实例:

public class Leaf {


private int i = 0;

Leaf increment(){
++i;
return this;

}
void print(){
System.out.println("i="+i);
}

public static void main(String[] args){
Leaf x = new Leaf();
x.increment().increment().increment().print();
}

}

打印结果:   i=3

通过increment()方法返回this,代表当前对象的句柄。所以可以方便对同一个对象执行多项操作。

2.在构建器里调用构建器 和引用成员变量

一个类写多个构建器,为了避免重复代码。

(1)在一个构建器里调用另一个构建器,但不可调用两个。

(2)根据参数列表分辨构造器。

(3)调用构造器必须是第一件做的事,否则会受到编译报错。

(4)非构造器不能调用构造器

调用内容(1)this.成员变量;(2)this(参数列表);

书中实例:

public class Flower{

   private int petalCount = 0;

private String s = new String("null");

Flower(int petals){

petalCount = petals;//参数petals传递给成员变量petalCount

}

Flower(String ss){

   s = ss;//参数ss传递给成员变量s

}

Flower(String s ,int petals){

    this(petals);//调用第一个构造器

//this(s);若这样写,报错。只能一个。

this.s = s;//参数s 传递给成员变量s。this区分两个s。

}

Flower(){

 this("hi",47);//调用第三个构造器

}

void print(){

   //this(11);非构造器不能调用构造器

}


}

另外从一个类的一个方法调用两一个类方法,不必使用this,只要简单调用。

实例:class Apricot{

      viod pick(){}

      void pit(){

      pick();

}

}

也可以写成this.pick(),但无此必要,编译器能自动完成。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值