What is the Java equivalent of a Scala object?
In Scala, we can write object Foo { def bar = {} } How is this implemented by the compiler? I am able to call Foo.bar(); from Java but new Foo(); from Java gives the error cannot find symbol symbol: constructor Foo() Does the JVM support singletons natively? Is it possible to have a class in Java that does not have a constructor? Note: here is the code output by scalac -print package <empty> { final class Foo extends java.lang.Object with ScalaObject { def bar(): Unit = (); def this(): object Foo = { Foo.super.this(); () } } } Support for singletons is not on a language level, but the language