Scala “返回”;“对象”;在斯卡拉
我对斯卡拉有点陌生。我在尝试返回对象类型时遇到了麻烦 这是代码 它显示“错误:未找到:类型A” 如果我对类实例做类似的事情,它不会显示任何问题Scala “返回”;“对象”;在斯卡拉,scala,object,Scala,Object,我对斯卡拉有点陌生。我在尝试返回对象类型时遇到了麻烦 这是代码 它显示“错误:未找到:类型A” 如果我对类实例做类似的事情,它不会显示任何问题 class A{} object B { def getInstance() : A = { return new A } } 据我所知,对象类型是类的单例实例。我在这里缺少什么?因为对象是一个单例对象,它没有定义类型,而是定义了一个值 如果您想查看Java等价物,请使用scalaobject生成: A$ class // A$.MO
class A{}
object B {
def getInstance() : A = {
return new A
}
}
据我所知,对象类型是类的单例实例。我在这里缺少什么?因为
对象是一个单例对象,它没有定义类型,而是定义了一个值
如果您想查看Java等价物,请使用scalaobject
生成:
A$ class //
A$.MODULE$ // singleton instance definition
但是,类型
被屏蔽,可以通过A.type
访问
在Scala中也不需要使用return
。块中最后一条语句的位置自动解释为return
value
class A{}
object B {
def getInstance() : A = new A
}
编译器抱怨找不到类型A,因为在您的情况下A是对象的名称而不是类型,请使用A.type引用类型,如下所示:
object A
object B {
def getInstance: A.type = A
}
只是想补充一点,通过类型推断,实际上可以省略返回类型,只编写def getInstance=A
object A
object B {
def getInstance: A.type = A
}