19. 静的メンバ

19. 静的メンバ

オブジェクトのないメンバ

lesson 047

class Lesson047 {
    public static void main(String args[]) {
        System.out.println("名前\t\t年齢");
        LOVE_HINA.write();

        LOVE_HINA.name = "成瀬川なる";
        LOVE_HINA.age = 17;
        LOVE_HINA.write();
    }
}
class LOVE_HINA {
    static String name = "前原しのぶ";
    static int age = 13;
    static void write() {
        System.out.println(name + "\t" + age);
    }
}

実行結果

L:\>java Lesson047
名前 年齢
前原しのぶ 13
成瀬川なる 17

初期化ブロック

lesson 048

class Lesson048 {
    public static void main(String args[]) {
        System.out.println("名前\t\t年齢");
        LOVE_HINA.write(0);
        LOVE_HINA.write(1);
    }
}
class LOVE_HINA {
    static String name[] = new String[2];
    static int age[] = new int[2];

    static {
        name[0] = "前原しのぶ";
        age[0]  = 13;
        name[1] = "成瀬川なる";
        age[1]  = 17;
    }

    static void write(int index) {
        System.out.println(name[index] + "\t" + age[index]);
    }
}

実行結果

L:\>java Lesson048
名前 年齢
前原しのぶ 13
成瀬川なる 17

オブジェクトからの呼び出し

lesson 049

class Lesson049 {
    public static void main(String args[]) {
        LOVE_HINA naru   = new LOVE_HINA("成瀬川なる" , 17);
        LOVE_HINA sinobu = new LOVE_HINA("前原しのぶ" , 13);

        System.out.println("名前\t\t年齢\tコミック名");

        naru.write();
        sinobu.write();
    }
}
class LOVE_HINA {
    static String title = "ラブひな";
    String        name;
    int           age;

    void write() {
        System.out.println(name + "\t" + age + "\t" + title);
    }

    LOVE_HINA(String s , int a) {
        name = s;
        age  = a;
    }
}

実行結果

L:\>java Lesson049
名前 年齢 コミック名
成瀬川なる 17 ラブひな
前原しのぶ 13 ラブひな