"return this" 的含义是什么?

17

我一直在网上学习关于SQLite的Android教程。我遇到了一个陈述,我不确定它的意思:

public HotOrNot open(){
    ourHelper = new DbHelper(ourContext);
    ourDatabase = ourHelper.getWritableDatabase();
    return this;  
}

在这个方法中,return this是什么意思?它是当前对象还是上下文?谢谢。


在此方法被调用的HotOrNot当前实例。 - AllTooSir
关键字“this”表示一个值,该值是对调用实例方法的对象的引用。[JLS 15.8.3] (http://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.8.3) - default locale
换句话说,当方法(函数)在对象上调用时,this 指的是调用当前方法的对象。 - Snicolas
1个回答

21

return this 返回当前对象实例。我不知道 HotOrNot 类是什么,但很明显这个方法是在该类中定义的。在该方法中,成员变量 ourHelper 初始化为一个新的数据库帮助器,成员变量 ourDatabase 被赋予来自该帮助器的可写数据库对象-之后返回类的实例 - 很可能是为了使调用能够链接,例如:

new HotOrNot(myContext).open().runQuery("some query text")

请参阅Java语言规范,了解更多关于this关键字的信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接