scala.util.Success
没有apply
方法,但继承了scala.util.Try
(AFAIK)的方法。但是所有scala.util.Try.apply
所做的是调用Success.apply
,周围是try catch
块。这怎么不是无限递归的,这是如何触发catch
块的?
不,scala的Success
是一个继承abstract class Try
的case类。所以apply方法是scala编译器生成的内置方法,不是从对象Try
继承的。