发布网友 发布时间:2022-04-24 04:46
共1个回答
热心网友 时间:2023-08-16 06:10
一段程序的完整执行过程是先编译,然后加载到jvm,然后初始化,然后你才能使用(当然中间还有需要细节)。初始化是执行类构造器方法的过程,类构造器方法是由编译器自动收集类中的所有类变量的赋值动作和静态语句块中的语句合并产生的(不是类的构造方法)。所以,简而言之,一个类在初始化的时候,会先执行它的静态代码块,当然,如果这个类有父类的话,同样的道理,如果发现该父类没有初始化,则需要先对其父类进行初始化,再对该类进行初始化。
至于一个类在什么时候初始化,简单的说,当程序第一次用到这个类时候就会对其进行初始化(前提是其没有进行过初始化)。追问非常感谢,能否将这段代码的执行顺序写一下,例如:
第一步:先加载main方法所在的App类 ...
第二不:...
追答
new一个对象的过程:
执行其父类的静态代码块。
执行自己的静态代码块。
执行父类的构造方法。
执行自己的构造方法。