java 类加载-初始化顺序

代码: package com.lczyfz.istep.modules.test.service;
class Root { static { System. out .println( "Root的静态初始化块" ); } { System. out .println( "Root的普通初始化块" ); } public Root(){ System. out .println( "Root的无参数构造器" ); } }

class Mid extends Root { static { System. out .println( "Mid的静态初始化块" ); } { System. out .println( "Mid的普通初始化块" ); } public Mid(){ System. out .println( "Mid的无参数构造器" ); } public Mid(String msg){ this (); System. out .println( "Mid的带参数构造器,其参数值:" + msg); } }
class Leaf extends Mid{ static { System. out .println( "Leaf的静态初始化块" ); } { System. out .println( "Leaf的普通初始化块" ); } public Leaf(){ super ( "疯狂java讲义" ); System. out .println( "执行Leaf的构造器" ); } }
public class Test{ public static void main(String[] args){ new Leaf(); new Leaf(); } }


答案: Root的静态初始化块 Mid的静态初始化块 Leaf的静态初始化块
Root的普通初始化块 Root的无参数构造器 Mid的普通初始化块 Mid的无参数构造器
Mid的带参数构造器,其参数值:疯狂java讲义 Leaf的普通初始化块 执行Leaf的构造器
Root的普通初始化块 Root的无参数构造器 Mid的普通初始化块 Mid的无参数构造器 Mid的带参数构造器,其参数值:疯狂java讲义 Leaf的普通初始化块 执行Leaf的构造器

============================================================ 静态初始化块和声明静态Field时所指定的初始值都是该类的初始化代码,它们的执行顺序与源程序中的排列顺序相同。 代码: package com.lczyfz.istep.modules.test.service;
/** * Created by hpp on 2017/4/5. */
class Base{ static { System. out .println( "Base static" ); } public Base(){ System. out .println( "Base init" ); } } public class Test1 extends Base{ String m = "" ; static String n ; static { System. out .println( "A static" ); } public Test1(String mValue,String nValue){ m = mValue; n = nValue; } public void print(){ System. out .println( m + " " + n ); }
public static void main(String[] args){ Test1 a1 = new Test1( "M1" , "N1" ); Test1 a2 = new Test1( "M2" , "N2" ); a1.print(); a2.print(); } 答案: Base static A static Base init Base init M1 N2 M2 N2
public static void main(String[] args){ Test1 a1 = new Test1( "M1" , "N1" ); a1.print(); Test1 a2 = new Test1( "M2" , "N2" ); a2.print(); }
答案: Base static A static Base init M1 N1 Base init M2 N2
}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部