如果我创建一个单独的对象Main没有伴生类,有没有什么办法让类单身吗? classOf[Main]给出了一个错误:“未找到:主要类型”

有帮助吗?

解决方案

作为它的一个类的实例,则可以使用该方法Main.getClass到完成这件事。

的幕后,JVM知道Main是一类命名Main$的一个实例,这可以通过Java反射方法,如果必要的访问。

说到这一切,通常有在斯卡拉反射很少的需要,所以你应该不是真的需要这一点,除非你只是理论的一个有趣的一点是后

其他提示

单一对象,又名模块,没有一个“阶级”,因为你不能从他们那里继承。认为单和类作为相反概念的

他们有一个类型,但:

object Main

def test(a: Main.type): Unit = println("Got: " + a)

test(Main)
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top