java静态代码块 类加载顺序问题。

2025-03-24 16:53:54
推荐回答(5个)
回答1:

原因就是一句话:先有了父亲,才会有儿子!
程序运行时,加载AB两类,因为A是B子类,所以先加载B类,Load B,再加在A类 LoadA,调用A a = new A()代码时,会先调用其父类B的构造方法 Create B 再调用A的构造方法 Create A

回答2:

Java创建对象的时候,系统会为该对象的所有实例分配内存,但这个的前提是该类已经加载了,所以您这个问题理解的时候应该也是父类要先加载的!不知道有没有理解错呢

我的理解是:执行A的时候,B还没出现,也就是父亲不在,孩子A就不可能出现,所以这个时候必须父亲在,也就是执行B

回答3:

第一点,如果该类的直接父类没有初始化,则先初始化其直接父类。

第二点,如果该类中有初始化语句,则系统一次执行这些初始化语句。static{}属于静态初始化块。这道题主要考查的是类的加载。

回答4:

父子类加载的时候是先加载父类再加载子类的,所以是Load B-->Load A-->Create B-->Create A;

回答5:

继承类,先加载父类才会有子类的体现。你也可以理解为,没这个爸就没有这个儿子了