我遇到过这样的代码,我的Java知识还不够 - 我很确定它很简单,但我没有找到解释因为不知道如何在谷歌中表达它.这是抽象的代码,我希望没有遗漏:
public class A{
Car car;
.
.
.
public A do() {
car.move(somewhere);
return this;
}
}
public class B{
protected A doSomething(final A a ){
a.do();
return a;
}
}
Run Code Online (Sandbox Code Playgroud)
我的第一个问题是"归还这个"; 这意味着什么 http://docs.oracle.com/javase/tutorial/java/javaOO/thiskey.html不包括这种情况.
第二个是a.do()在方法doSomething()中的工作原理?方法do()应该返回一个值,但它没有分配到任何地方?
最后,我想在这个方法中改变了doSomething()返回的"a".这是允许的,因为"a"是最终的吗?
return this
Run Code Online (Sandbox Code Playgroud)
返回对象本身.如果a.do()是返回.你有什么好处可能会问?它实现了这个:
a.do().do().do();
Run Code Online (Sandbox Code Playgroud)