mainメソッドがあるクラスのインスタンス化 - 萌えJava超入門
第十六章 インスタンス

mainメソッドがあるクラスの
インスタンス化

mainメソッドがあるクラスもインスタンス化できます。

mainメソッドがあるクラスのインスタンス化

ここまでは、mainメソッドがあるクラスとは別にクラスを作って、
mainメソッド内からインスタンス化していました。
これはこれで正しい使い方です。

でも、ちょっとしたプログラムを書くのに2つのクラスを作るのって面倒ですよね。
そんな時には、皆さん以下の様に書かれています。

//Driver_06.java
class Driver_06{
    public int no;
    public String name;

    public Driver_06(int no, String name){
        this.no = no;
        this.name = name;
    }
    public void print(){
        System.out.println(no + " " + name);
    }
    public static void main(String[] args){
        Driver_06 shiz = new Driver_06(1, "館石静乃");
        Driver_06 maya = new Driver_06(2, "桜井真夜");
        Driver_06 tema = new Driver_06(3, "安堂てまり");

        shiz.print();
        maya.print();
        tema.print();
    }
}


コマンドライン
>javac -encoding UTF-8 Driver_06.java
>java Driver_06
1 館石静乃
2 桜井真夜
3 安堂てまり

Member_05 と Driver_05を
合体しただけのプログラムだ。
ん?
Driver_06 の中の mainメソッドで
Driver_06をインスタンス化してるんスか?

混乱するだろ?
この形だと、Driver_06のクラスメンバに
mainメソッドが含まれる。
まあコマンドライン以外で
mainメソッドを使わなければ
同じというわけだ。
こっちの書き方の方が多数派なんですけど、
ちょっとわかりにくいんですよね。



お疲れ様でした。




© 2019 awasekagami