让以下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
替换1612
,new StringBuilder
标记的行,行为仍然相同。
最后一个值会发生什么?
答案 0 :(得分:2)
无。这没用。这是一个未分配的呼叫,没有副作用。垃圾收集器将删除此对象,或者编译器将消除该调用。
请注意,这不是构造函数的结尾,而是类体。这个public abstract class BeforeInterceptor : IInterceptor
{
void IInterceptor.Intercept(IInvocation invocation)
{
Before(invocation);
invocation.Proceed();
}
protected abstract void Before(IInvocation invocation);
}
是整个构造函数。