2010/09/18

内部クラスのStatic

C#やVBでネスト構造のクラス(内部クラス)を定義することがあります。そのとき、内部クラス内に静的メンバーを持たしたりします。
public class 外側
    {
        public class 内側
        {
            public static int a;
        }
    }

このスタイルが身についているので、 Javaで、同様にコーディングしたら、コンパイラに怒られました。


●エラー: フィールド a は static として宣言できません。static フィールドは、static またはトップ・レベル型においてのみ宣言できます
意味が理解できず、あちこち頁をめくっていくと、「内部クラスではStaticメンバーは使えない」ですって。
処理系が異なるので、「そんなものだ。」ですが、.net系とJava系でのクラスに対する思想の差を解間みた気がします。


C#をメインにしているので、情けないことにJAVAで書くと混乱してばかりです。JAVA7でプロパティ構文が入る...と楽しみにしてたのですが、どうなったのでしょうね。

0 件のコメント:

コメントを投稿