在 Scala 中,我们可以写
object Foo { def bar = {} }
编译器是如何实现的?我可以Foo.bar();
从 Java 调用,但从new Foo();
Java 给出错误cannot find symbol symbol: constructor Foo()
- JVM 是否原生支持单例?
- 是否可以在 Java 中有一个没有构造函数的类?
注意:这里是输出的代码scalac -print
package <empty> {
final class Foo extends java.lang.Object with ScalaObject {
def bar(): Unit = ();
def this(): object Foo = {
Foo.super.this();
()
}
}
}