2016-11-25 5 views
1

私はJavaプログラマーでScalanowを学んでいます。 Javaでは、シングルトンオブジェクトは、このタイプのオブジェクトの1つだけがJVM全体に存在することを意味します。しかし、Scalaでどのように私は配列と同じクラス型で2つのシングルトンオブジェクトを作成した可能性があり、たとえば、同じタイプの下に2つのシングルトンオブジェクトを作成することができます。Scala Singletonオブジェクトについて混乱しています

val s1 = Seq("aa","bb") 
val s2 = Seq("aa","bb","cc") 

答えて

2

これは少し異なっています。 文書を読む:http://docs.scala-lang.org/tutorials/tour/singleton-objects.html

例では、タイプSeqの値を作成します。それはシングルトンではありません! シングルトンの例を次に示します。

object Blah { 
    def sum(l: List[Int]): Int = l.sum 
} 

これは重複した質問です。

0

あなたは@Pavelが指すドキュメントを読んでいる間、それはそれを指すように価値がある:

val s1 = Seq("aa","bb")

は、任意のシングルトンを作成されていません。代わりに、を返すSeqの抽象スーパークラスのapplyメソッドを呼び出しています。

関連する問題