Я действительно новичок в scala. Я пытаюсь получить доступ к переменной класса companion вне класса. Как это сделать, если это возможно, без создания экземпляра класса.Доступ к переменной класса Companion из другого класса
В следующем примере, я могу получить доступ к INTERNAL_COST_REQUESTS внутри YotascaleCostProcessing класса
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 существует. Единственный способ это работает, когда я делаю это:. Новый 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)
}
}
метод помечен как 'private', так что вы не можете сделать это , Вы также не можете вызывать частный, статический метод из другого класса в Java/C#. –
Ой, позвольте мне изменить это. Это не то, что я намеревался. Ошибка копирования патча;). Переменная, которую я хочу получить, не является частной. –
переместить объект из класса –