あるクラスにアクセスした時に最初の1回だけstaticな変数などの初期化処理を行いたい。staticじゃないやつはコンストラクタで出来るのに・・・
静的初期化子を使えばいいそうです。具体的には、
staticな変数の初期化(1行でかけない場合)
styleの初期化
があるみたい。もっとあると思うけどすぐ出てこない。
styleの初期化っていうのは例えば、スタイルシートには
.hogeって書くクラスセレクタと
Hogeってかくタイプセレクタがあって、
このタイプセレクタの初期化ってのがクラスに最初にアクセスが起ったタイミングでやりたいので、
静的初期化子を使えということ。
スタイルについては後でまとめます。今回は静的初期化子の話。
javaとかだと
static {
}
とかで出来るんだけど(実際やってるの見たことないけどww)
ActionScriptではそういうのがないから、
とかってやればいいらしい。
ちなみに、constな定数は、宣言時じゃないと初期化できないみたい。
初期化に複数行かかる場合は、同じやり方でその処理メソッドにして宣言時にその戻り値を入れるようにすればok
静的初期化子を使えばいいそうです。具体的には、
staticな変数の初期化(1行でかけない場合)
styleの初期化
があるみたい。もっとあると思うけどすぐ出てこない。
styleの初期化っていうのは例えば、スタイルシートには
.hogeって書くクラスセレクタと
Hogeってかくタイプセレクタがあって、
このタイプセレクタの初期化ってのがクラスに最初にアクセスが起ったタイミングでやりたいので、
静的初期化子を使えということ。
スタイルについては後でまとめます。今回は静的初期化子の話。
javaとかだと
static {
}
とかで出来るんだけど(実際やってるの見たことないけどww)
ActionScriptではそういうのがないから、
とかってやればいいらしい。
ちなみに、constな定数は、宣言時じゃないと初期化できないみたい。
初期化に複数行かかる場合は、同じやり方でその処理メソッドにして宣言時にその戻り値を入れるようにすればok

> javaとかだと
> static {
>
> }
> とかで出来るんだけど(実際やってるの見たことないけどww)
これ基本情報技術者試験の午後問題で見たことあるよ!(笑)
H18春試験の午後問題の問12の設問(a)
import java.util.Random; public class Card { public static final int SPADES = 0; public static final int HEARTS = 1; public static final int DIAMONDS = 2; public static final int CLUBS = 3; private static final Random rand = new Random(); private static final Card[] cards = new Card[13 * 4]; private final int suit; private final int rank; +--------------------+ | (a) | /* ←ここに入るのが static { */ +--------------------+ for (int i = SPADES; i <= CLUBS; i++) { for (int j = 1; j <= 13; j++) { cards[ (b) ] = new Card(i, j); } } } private Card(int suit, int rank) { this.suit = suit; this.rank = rank; }http://www.jitec.jp/1_04hanni_sukiru/mondai_kaitou_2006h18_1/2006h18h_fe_pm_qs.pdf
>TBVector
TBVectorってなんだよwww
最初ダレかわかんなかったじゃんかwww
sjc-pでも出るよ。
でもね、試験でしか見たことないんだww