在前一个问题中, 从Java访问scala.None ,似乎人们已经使用javap来弄清楚如何访问scala.None 。 我想知道他们是怎么做到的。 仅供参考,答案是: scala.Option$.MODULE$.apply(null); 可以缩短为: scala.Option.apply(null); 鉴于这个程序( OptionTest.scala ): object OptionTest extends App { val x = scala.None val y = scala.Some("asdf") } 我运行javap就像这样: javap -s -c -l -private OptionTest 这是javap输出的一部分: public static final scala.None$ x(); Signature: ()Lscala/None$; Code: 0: getstatic #11; //Field OptionTest$.MODULE$:LOptionTest$; 3: invokevirtual #55; //Method OptionTest$.x:()Lscala/None$; 6: areturn 我也在scala.None和scala.Option上运行javap。 […]