类主体返回的值会发生什么变化?

时间:2016-03-03 11:06:28

标签: scala

让以下scala类:

case class Foo(i:Int) {
  println("from Foo: "+i)
  None /* (A) */
}

与这个琐碎的主要使用:

object HelloWorld {
  def main(args: Array[String]): Unit = {
    val t = new Foo(12)
    println(t)
  }
}

打印:

from Foo: 12
Foo(12)

我可以用/* (A) */None替换1612new StringBuilder标记的行,行为仍然相同。

最后一个值会发生什么?

1 个答案:

答案 0 :(得分:2)

无。这没用。这是一个未分配的呼叫,没有副作用。垃圾收集器将删除此对象,或者编译器将消除该调用。

请注意,这不是构造函数的结尾,而是类体。这个public abstract class BeforeInterceptor : IInterceptor { void IInterceptor.Intercept(IInvocation invocation) { Before(invocation); invocation.Proceed(); } protected abstract void Before(IInvocation invocation); } 是整个构造函数。