javaでデザインパターンを書いて手を動かそう#5をやりました。

  • staticの初期化がわかってませんでした。
  • import時には、static fieldは初期化しません。
package s;

public class Singleton {
    private static final Singleton s;
    // staic 初期化子
    static {
        s = new Singleton();
    }
    // コンストラクタ
    private Singleton(){
        System.out.println(" -- generate  --");
    }   
    // staticのmethod
    public static Singleton getInstance(){
        return s;
    }   
}
import s.Singleton;

public class Main2 {
    public static void main(String[] params){
        System.out.println("start");
        Singleton.getInstance();
    }   
} 
  • callする
  • import時ではなく、static method時に呼び出される。
  • もしくは、そのクラスのインスタンスが生成されたとき。
  • 詳しくは、参考サイトを参照願います。
toenobu:singleton xoxopanda$ java -Dfile.encoding=UTF-8 Main2
start
-- generate  --

参考サイト

次回の受付はこちら

« transration of Interviews of This Town Needs Guns

macで今使っているソフトウェア »

blog comments powered by Disqus

Categories

Uncategorized (rss) (2) | blogofile (rss) (2) | designpettern (rss) (3) | flask (rss) (2) | fluxflex (rss) (3) | java (rss) (6) | nginx (rss) (6) | python (rss) (8) | sacloud (rss) (3) | spdy (rss) (2) | thistownneedsguns (rss) (2) | webService (rss) (2) | zabbix (rss) (3) | さくらVPS (rss) (4) | 芸術は爆発しろ (rss) (3) |