JAVA中,类的加载的确是个问题,其实分为主动加载和被动加载,类只有在下面7个情况下,是
主动加载的:
小结:JAVA中类的主动加载7个情况

 

小结:JAVA中类的主动加载7个情况

下面来看个例子:
小结:JAVA中类的主动加载7个情况

在这个例子中,只输出:MyParent1 static block
                                       hello world

注意:这里MyChild1的静态代码块是没执行输出的,因为这个时候mychild1中没执行上面“主动加载7个情景”中的任何一个,
STR是父类的静态变量,只有直接定义了该字段的类才会给初始化,因此是加载了myparnet1类,mychild1类没有初始化,所以
其静态代码块没使用。
小结:JAVA中类的主动加载7个情况
  如果代码修改上面这样,Mychild1中有静态成员变量str2了,MAIN中调用的是mychild1.str2,因此执行的时候,mychild1是初始化了,所以mychild1的静态代码块是执行了。
 

相关文章:

  • 2022-12-23
  • 2021-06-26
  • 2022-12-23
  • 2021-07-14
  • 2021-09-22
  • 2022-12-23
  • 2022-12-23
  • 2021-09-27
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-10-07
  • 2021-05-06
  • 2022-12-23
  • 2021-06-25
相关资源
相似解决方案