プライベート コンストラクターを持つ次のケース クラスがあり、コンパニオン オブジェクトの apply-method にアクセスできない場合。
case class Meter private (m: Int)
val m = Meter(10) // constructor Meter in class Meter cannot be accessed...
プライベート コンストラクターでケース クラスを使用し、生成された適用メソッドをコンパニオン パブリックに保持する方法はありますか?
私は、2 つのオプションに (私の例では) 違いがないことを認識しています。
val m1 = new Meter(10)
val m2 = Meter(10)
しかし、最初のオプションを禁止したいと思います。
- 編集 -
驚くべきことに、次のように動作します (しかし、実際には私が望むものではありません):
val x = Meter
val m3 = x(10) // m3 : Meter = Meter(10)