2010年10月02日

[java]匿名クラス...の前に初期化ブロックのまとめ

javaの匿名クラスの理解が曖昧で、モヤモヤしていたので調査。
主に矢野勉さんのページを参考に実験。で、匿名クラスの前に初期化ブロックの初期化順序のメモ。

(1)static変数の代入
(2)static初期化ブロック
(3)instance変数の代入
(4)instance初期化ブロック
(5)コンストラクタ


public class Test1 {
// (1)staticとして[1]
static public String sa = "sa";
static public String sb = "sb";

// (2)staticとして[2]
static {
sa = "static A";
//sb = "static B";
}

// (3)instanceとして[1]
public String a = "a";
public String b = "b";
private String c = "c";
String d = "d";

// (4)instanceとして[2]
{
a = "instance A";
//b = "instance B";
c = "instance C";
//d = "instance D";
}

// (5)instanceとして[3]
Test1() {
//a = "instance AA";
b = "instance BB";
c = "instance CC";
}

public static void main(String[] args) {
System.out.println("--- static ---");
System.out.println(sa);
System.out.println(sb);

// 普通のinstanceとして
System.out.println("--- ts1 ---");
Test1 ts1 = new Test1();
System.out.println(ts1.a);
System.out.println(ts1.b);
System.out.println(ts1.c);
System.out.println(ts1.d);
}
}

タグ:java
【関連する記事】
posted by ありい at 18:35| Comment(0) | TrackBack(0) | java | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/164436894
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。