Java:类成员的初始化顺序 类加载 疑问(如图)

 我来答
小天判定
2017-01-18 · TA获得超过303个赞
知道小有建树答主
回答量:313
采纳率:0%
帮助的人:158万
展开全部
  一段程序的完整执行过程是先编译,然后加载到jvm,然后初始化,然后你才能使用(当然中间还有需要细节)。初始化是执行类构造器方法的过程,类构造器方法是由编译器自动收集类中的所有类变量的赋值动作和静态语句块中的语句合并产生的(不是类的构造方法)。所以,简而言之,一个类在初始化的时候,会先执行它的静态代码块,当然,如果这个类有父类的话,同样的道理,如果发现该父类没有初始化,则需要先对其父类进行初始化,再对该类进行初始化。
  至于一个类在什么时候初始化,简单的说,当程序第一次用到这个类时候就会对其进行初始化(前提是其没有进行过初始化)。
追问
非常感谢,能否将这段代码的执行顺序写一下,例如:
第一步:先加载main方法所在的App类 ...
第二不:...
追答

new一个对象的过程:

  1. 执行其父类的静态代码块。

  2. 执行自己的静态代码块。

  3. 执行父类的构造方法。

  4. 执行自己的构造方法。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式