我对scala真的很陌生。我正在尝试从类外部访问伴随类变量。如果可能的话,我如何在不创建类的实例的情况下做到这一点。
在以下示例中,我可以从 YotascaleCostProcessing 类中访问 INTERNAL_COST_REQUESTS
package com.yotascale
class YotascaleCostProcessing extends YotascaleActorSystem{
//companion object
object YotascaleCostProcessing{
val INTERNAL_COST_REQUESTS = "internal-cost-requests"
val INTERNAL_COST_UPDATES = "internal-cost-updates"
}
def setupInfrastructure() = {
QueueService.createQueue(YotascaleCostProcessing.INTERNAL_COST_REQUESTS)
QueueService.createQueue(YotascaleCostProcessing.INTERNAL_COST_UPDATES)
}
}
当我从另一个包中的另一个类执行 YotascaleCostProcessing.INTERNAL_COST_UPDATES 时,即使存在 YotascaleCostProcessing 的导入,我也会收到错误“未找到:值 YotascaleCostProcessing”。唯一可行的方法是当我这样做时: new YotascaleCostProcessing().YotascaleCostProcessing.INTERNAL_COST_UPDATES
package com.yotascale.service.cost.setup;
import com.yotascale.YotascaleCostProcessing
class MetadataNotificationConfiguringActor(message:Message) extends UntypedActor {
def configureBucket() = {
val realtimeupdates = QueueService.getQueueURL(YotascaleCostProcessing.INTERNAL_COST_REQUESTS)
}
}