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是如何工作的?
谢谢!
答案 0 :(得分:0)
首次引用A类时,该类将完全加载。鉴于A扩展B,B类也将完全加载。 然后,B中的所有静态初始值设定项和静态字段将按B中指定的顺序执行/初始化,然后在A中,您将返回提取CONST字段的代码。