「明解Java入門」の説明では、スーパークラス型の変数、上で言えばxだと思います。サブクラスのインスタンス、上で言えばnakataだと思います、を参照出来る。とあります。でもここではx = nakataはエラーになります。scalaの場合は変数のタイプと参照されるタイプが合ってないといけない。この方が分かり易い、と思います。
Scalaではクラス変数と言うのが無いんだそうです。objectを使うと言うことですが、どうもやり方が分かりません。「明解Java入門」のサンプルではidをクラス変数にしてます。インスタンスが出来るたびに+1するんでしょう。(-_-;)
シングルトンですか?Counter出来ました。(^o^)前はidを初期化で与えてましたが、メンバ変数にします。x.idと書けなかったのでgetidを定義します。
idを初期化から外します。
下は実行画面です。同じようですが、変更の結果1から始まり次は2になってます。