为了账号安全,请及时绑定邮箱和手机立即绑定

关于Return this的疑问

public class ThisDemo {
	int number;
    ThisDemo increment(){
         number++;
         return this;
    }  
  private void print(){
         System.out.println("number="+number);
    }
    public static void main(String[] args) {
        ThisDemo tt=new ThisDemo();
         tt.increment().increment().increment().print();
    }

}

(1)关于本题中的return this是return number吗? 

        return this 一般是用来返回什么的 ?

(2)tt.increment().increment().increment().print();

        方法是从左到右调用吗?请大神帮我解读一下;

正在回答

4 回答

关于第一个提问:

return this 并不是 return number

ThisDemo tt = new ThisDemo();

tt.increment() 这个方法执行完毕,会把tt对象再次返回

第二个提问:

tt.increment().increment().increment().print();

执行顺序是从右往左的,因为每次调用increment都返回对象本身,所以可以实现链式调用。

1 回复 有任何疑惑可以回复我~
#1

慕男婶

打错字儿了,顺序是从左往右的
2015-12-13 回复 有任何疑惑可以回复我~
#2

梁XX 提问者

非常感谢!有用,明白了!
2015-12-13 回复 有任何疑惑可以回复我~

不错不错,讲的很清晰易懂

0 回复 有任何疑惑可以回复我~

一楼说的返回对象是什么意思啊?是将对象再用方法运行一次吗?求解

0 回复 有任何疑惑可以回复我~

顶楼上,补充一下哈,return this一般用在类中非静态方法的末尾,来返回类的当前对象,因为非静态方法是属于对象的,而不是类的(楼主注意区分类和对象的区别哈),所以,为了之后的继续调用当前对象,所以 return this,将对象返回

2 回复 有任何疑惑可以回复我~
#1

梁XX 提问者

谢谢补充!
2015-12-13 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       530553    人
  • 解答问题       6091    个

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

进入课程

关于Return this的疑问

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信