梁XX
2015-12-13 21:17
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();
方法是从左到右调用吗?请大神帮我解读一下;
关于第一个提问:
return this 并不是 return number
ThisDemo tt = new ThisDemo();
tt.increment() 这个方法执行完毕,会把tt对象再次返回
第二个提问:
tt.increment().increment().increment().print();
执行顺序是从右往左的,因为每次调用increment都返回对象本身,所以可以实现链式调用。
一楼说的返回对象是什么意思啊?是将对象再用方法运行一次吗?求解
顶楼上,补充一下哈,return this一般用在类中非静态方法的末尾,来返回类的当前对象,因为非静态方法是属于对象的,而不是类的(楼主注意区分类和对象的区别哈),所以,为了之后的继续调用当前对象,所以 return this,将对象返回
Java入门第二季 升级版
530661 学习 · 6091 问题
相似问题