classのsyntheticとは?→シンセサイザーのシンセのことか?・シングルトンオブジェクトとコンパニオンクラスは別のもの。→別の名前空間を持つ。→Javaに落とすと、・・・$のクラス名になる。・クラスから見るとオブジェクト、オブジェクトから見るとクラス。・コンパニオンオブジェクト内に自分の名前を使った場合、何を指すのか?→そもそもScalaにはstaticが無いので、必ずクラス名.メソッド名セマンティクスになる。→静的メンバーが持てないため。・外部からnewすると、コンパニオンクラスのインスタンスが生成される。→シングルトンという名前に違和感がある使い方。→必須ではないので、同名のクラスを作らなければシングルトンになる。(スタンドアローンクラス)・シングルトンオブジェクトとコンパニオンは、互いに読み書き可能。・結果的にシングルトンになるというのは、何か違うような気がする。→無名クラスでもいいのでは?→無名クラスだと定義している所だけでしか呼び出せない。・レシーバーでは、自動的にapplyメソッドを呼び出す。→型の場合、コンパニオンクラスapplyメソッドが呼び出される。→クラスの場合、自分のapplyメソッドが呼び出される。→型を持つJavaVM上で、オブジェクトへのメッセージ呼び出しを何とか実現させるための方法と思われる。リテラルP85・intを使えるようになっているのは、何か歴史的経緯があるのか?→経験則的に使えるようにしていると思われる。・なぜStringだけはJavaのクラスを使っているのか?→プリミティブ型のクラスは、Scalaが独自拡張しているため。P86P87・なぜ小文字エルのリテラルを言語仕様的に切らなかったのか?→Javaでも散々間違えやすいものとして扱われている。→8進リテラルも要らないかも。・代入時、値が型の範囲外の場合エラーとなる。→Javaでも範囲外の場合はエラーとなる。Longとなっているが、Javaは反対ではなかったか?→Javaも同じ。→明示的なキャストが必要な時もある。演算子の優先順位と結合性P100P101P102・Scalaでは日本語のメソッドは定義出来るのか?→出来ると思われる。フィールドの追加P108P109・toStringメソッドで、なぜnやdの変数が使えるのか?→実装レベルで何かをしているのかもしれない。→内部的にフィールドとして宣言しているようだ。補助コンストラクターP111・コンストラクタが多いクラスと継承すると、サブクラスはどのコンストラクタを呼ぶべきか迷うことがある。コンストラクタで使用されているnは、別の変数でもいいのか?→左辺と右辺の対応が取れていればいいはず。try式による例外処理P131P132・catchにかからなかった場合は?→握り潰す?→再throwしているわけではないので、catchされずにそのまま上に返っていくと思われる。次回は、P142より。