Questions tagged «companion-object»


3
Scala的apply()方法魔术如何工作?
在Scala中,如果定义了apply在类或顶级对象中调用的方法,则每当我在该类的实例后面加上一对括号并apply()在它们之间放置适当的参数时,就会调用该方法。例如: class Foo(x: Int) { def apply(y: Int) = { x*x + y*y } } val f = new Foo(3) f(4) // returns 25 因此,基本上,object(args)只是的语法糖object.apply(args)。 Scala如何进行这种转换? 是否存在全局定义的隐式转换,类似于Predef对象中的隐式类型转换(但种类不同)?还是更深层的魔力?我问,是因为Scala似乎强烈赞成一致地应用较小的规则集,而不是许多例外的规则。最初,这对我来说似乎是个例外。

6
Kotlin:类中的对象和伴侣对象之间的区别
Kotlin中的类中的对象和同伴对象有什么区别? 例: class MyClass { object Holder { //something } companion object { //something } } 我已经读过,如果包含的参数/方法与其类紧密相关,则应使用该伴随对象。 但是,为什么还可以在类中声明一个普通对象呢?因为它的行为完全类似于同伴,但是必须有一个名称。 它的“静态”(我来自Java方面)生命周期是否可能有所不同?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.