关于类、方法、变量、语句块的加载顺序

来源:互联网 发布:谷歌软件开发 编辑:程序博客网 时间:2024/05/18 19:20


public static String strA = "③、静态语句块只加载一次";public static void main(String[] args) {System.out.println("②、main方法开始执行");new Bread();strA = "成员变量被改变,但Bread类中的静态语句块并未再次加载";//注意:上面一句没有被打印,说明静态语句块只加载一次new Bread();StaticMethod();}public static Before strB = new Before();public static void StaticMethod() {System.out.println("⑥本记录出现在最后说明static方法不会自动执行");}static class Bread {public Bread() {System.out.println("⑤、Bread类被加载两次,③只出现一次说明③");}Water water = new Water();//静态语句块先于方法被加载static {System.out.println(strA);}}static class Water {public Water() {System.out.println("④、变量会在任何方法(包括构造器)调用之前得到初始化");}}static class Before {public Before() {System.out.println("①、static成员变量在方法执行之前初始化");}}

①、static成员变量在方法执行之前初始化②、main方法开始执行③、静态语句块只加载一次④、变量会在任何方法(包括构造器)调用之前得到初始化⑤、Bread类被加载两次,③只出现一次说明③④、变量会在任何方法(包括构造器)调用之前得到初始化⑤、Bread类被加载两次,③只出现一次说明③⑥本记录出现在最后说明static方法不会自动执行


0 0
原创粉丝点击