静的フィールドのみを持ち、コンストラクターを持たないJava クラスを考えてみましょう。
public class OnlyStatic {
static O1 o1 = new o1();
static O2 o2 = new o2();
public static int compute(int whatever) {
return o1.foo+o2.bar+whatever;
}
}
別のクラスでは、次のcompute
いずれかによってメソッドが使用されstatic import
ます。
static import OnlyStatic.compute
int a = OnlyStatic.compute(3);
または直接、呼び出し元が同じパッケージにあると仮定します。
int a = OnlyStatic.compute(3);
o1 と o2 はいつ初期化されますか? インポート時、またはcompute()
初めて呼び出されるのはいつですか?