gpt4 book ai didi

groovy - 静态方法中的非静态变量 "this"

转载 作者:行者123 更新时间:2023-12-04 17:58:17 25 4
gpt4 key购买 nike

我读了这篇文章:
https://www.ibm.com/developerworks/java/library/j-javadev2-8/index.html

list 2 中的抽象类 Model 有 静态 变量数据存储。

abstract class Model {
static def datastore = DatastoreServiceFactory.datastoreService
...

list 3 中的 Race 类扩展了抽象类 Model。
class Race extends Model {
public Race(params){
super(params)
}
}

在 list 5. 和 list 6. 在静态方法中使用作者非静态变量数据存储 ( this.datastore )。我想,静态方法在 Race 类中。
static def findByName(name){
def query = new Query(Race.class.simpleName)
query.addFilter("name", Query.FilterOperator.EQUAL, name)
def preparedQuery = this.datastore.prepare(query)
if(preparedQuery.countEntities() > 1){
return new Race(preparedQuery.asList(withLimit(1))[0])
}else{
return new Race(preparedQuery.asSingleEntity())
}
}

这怎么可能?谢谢解释。
汤姆

最佳答案

编辑 - 你是对的,我之前完全走错了路。答案很简单,在 groovy 中,您可以在静态方法中使用 'this' 关键字。

http://groovy.codehaus.org/Differences+from+Java

当这样使用时,“this”指的是类,而不是实例。时髦。

关于groovy - 静态方法中的非静态变量 "this",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4117951/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com