2
public class A extends B {
public static final int CONST = 6;
... some logic ...
}
public class C {
private int addNumber(int x) {
return x + A.CONST;
}
}
クラスCのjUnitテストが、クラスAのフィールドをロードするかどうか、クラスAの拡張子(クラスB)のすべてのロジックが完全にロードされているかどうかが疑問です。クラスは静的メンバー依存関係に完全にロードされますか?
この場合、JVMはどのように動作していますか?
ありがとうございます!
例のコードでは、クラスAがロードされていない可能性があります。コンパイラがA.CONSTの値を(public static final修飾子のために)許可されているクラスCにインライン展開することを決めた場合、クラスCはクラスAへの参照を持たないため、JVMにはクラスAをロードする理由 –