java程序中代码块与构造方法的执行顺序

来源:互联网 发布:那个漫画软件好最全 编辑:程序博客网 时间:2024/06/05 02:11
package com.itheima;/* * 黑马论坛----阳哥加分第一帖 *  * 写一段代码,分别验证静态代码块、代码块、构造函数在 *1、初始化对象的时候的执行顺序 *2、直接用类名调用该类的静态变量时的执行的顺序 *//* * 分析: * 1.一段代码中一般包含有代码块与构造方法(构造函数) * <span style="white-space:pre"></span>代码块又分为:静态代码块与非静态代码块 *<span style="white-space:pre"></span>构造方法又分为:默认构造方法与普通构造方法 *<span style="white-space:pre"></span>PS:如果上述有误,还希望阳哥指正! *//* * 总结: * 1.从第一个调用函数r1.test()可知,初始化对象的时候的执行顺序为: * <span style="white-space:pre"></span>静态代码块-->非静态代码块-->默认构造方法-->普通构造方法 * 2.从第二个调用函数r2.test()可知,直接用类名调用该类的静态变量时的执行的顺序为: * <span style="white-space:pre"></span>非静态代码块-->默认构造方法-->普通构造方法 * 3.从第1点和第2点总结可知,程序在执行时总是先执行代码块再执行构造方法。 */<pre name="code" class="java">class Run {      public Run(){          System.out.print("默认构造方法-->");      }            //非静态代码块      {          System.out.print("非静态代码块-->");      }            //静态代码块      static{              System.out.print("静态代码块-->");      }            public static void test(){          {         String jingtai = "普通构造方法";            System.out.println(jingtai);          }      }  }  public class Demo1 {public static void main(String[] agrs) {System.out.println("\n初始化对象时的执行顺序");Run r1 = new Run();          r1.test();                  System.out.println("\n直接用类名调用该类的静态变量时的执行的顺序");          Run r2 = new Run();          r2.test(); }}

                                             
0 0
原创粉丝点击