最初のポイントとしては、

普通のメソッドなので、名前が付けられます。

つまり複数のコンストラクタを作るよりも、メソッド名で識別がしやすくなります

/* コンストラクタ。 */
Television(){
 channelNo = 1;
 place = "未定";
}

Television(String newPlace){
 channelNo = 1;
 place = newPlace;
}


/* static ファクトリメソッド。 */
public static Television PlaceNo()
public static Television PlaceAddP(String p)



もちろん引数が異なれば、複数のコンストラクタは作れますが、(オーバーロード)

しばらくするの追うのが面倒にもなりますよね。


そもそも「Staticファクトリーメソッド」って、なんぞや

staticファクトリメソッドとは、クラスのインスタンスを返すstaticのメソッドなんだけど、

わざわざGoFぽく言うから、ついついGoFを調べてしまった

次からは、「Staticファクトリーメソッド」をみていきます。

超!超!超!基本!!!
(※超基礎と言いながらある程度の用語説明は無視で)

コンストラクタとは
クラスからオブジェクトを作成した際に、自動的に実行されるメソッドのことで、
メンバ変数の初期化などの主に行います。

はい!これだけ!!

サンプルのコードとしては、

class ctest8{
 // Mainが実行されます
public static void main(String args[]){
Television tv1 = new Television();

tv1.dispChannel();
}
}

class Television{
private int channelNo;
private String housouKyoku;

 // コンストラクタ
Television(){
  // 初期化 
channelNo = 1;
housouKyoku = "FujiTV";
}

public void setChannel(int newChannelNo){
channelNo = newChannelNo;
if (channelNo == 1){
housouKyoku = "FujiTV";
}else if (channelNo == 3){
housouKyoku = "NHK";
}
}

public void dispChannel(){
System.out.println("現在のチャンネルは" + housouKyoku + "です");
}
}
Javaをやっている人なら、絶対読んでいるであろう
Effective Java 第2版

これって、中級以上レベルなら役に立つのですが

基礎が弱いと「?」だったり、なんなん?

の連続・・・・・


でも、ある程度の基礎を作って

そのうえでEffective Javaの流れをくみながら復習すれば

いい感じで、時間を短縮しながら技術力があっぷするんじゃないかと思い

サンプルを作りながら勉強しようという試みです!