【发布时间】:2021-10-22 19:43:09
【问题描述】:
我在文件 A 中有以下类:
@Service
class MyService(
private val myLoader: Loader
) {
fun load(myKey: SomeKey) =
myLoader.loadStuff(myKey)
}
我想像这样在另一个文件 B 中调用该函数:
MyService.load(myKey)
然而,load() 方法在 IntelliJ 中被标记为红色。错误说“未解决的参考:加载”,我不知道为什么。当我输入MyService. IntelliJ 时甚至会建议加载方法。
我该如何解决这个问题?
【问题讨论】:
-
您需要一个类的实例才能访问该类的函数。在春天(你可能应该标记,或者至少在问题中提到)你可以通过在你需要使用它的地方自动装配它来做到这一点。将函数设为静态(将其移动到伴随对象)将无济于事,因为您需要访问
myLoader这是类本身的属性。