例如,我有:
class AClass {
}
object AClass{
}
.....
println(AClass.getClass.toString)
println((new AClass).getClass.toString)
println(AClass.toString)
println((new AClass).toString)
当我尝试打印出类和伴随对象的类型时,我得到了:
class tmp.AClass$
class tmp.AClass
tmp.AClass$@44a664f2
tmp.AClass@7f9fcf7f
我认为类AClass的类型是AClass。
伴随对象AClass的类型是什么? AClass$
中的美元符号的含义是什么?
AClass类的类型是什么?我可以直接使用AClass类而不用它的实例吗?
答案 0 :(得分:4)
美元符号是JVM上类名的有效部分。您将看到它在生成的类中常用。所以AClass$
只是一个普通的类名,没有什么特别之处。
当然,只有它被编译到的运行时类型。在scala代码中,AClass
的随播广告类型为AClass.type