Java实例变量初化顺序

                   
 本文主要讲述Java实例变量初化顺序,更多Java技术知识,请登陆疯狂软件教育官网。
  实例变量初始化方式有以下3种:

  1.非静态块中初始化;

  2.声明时初始化;

  3.构造器中初始化;

  测试:

  package com.skymr.learn;

  /**

  * 实例变量初始化顺序测试

  * @author skymr

  *

  */

  public class InstanceTest1 {

  public InstanceTest1(){

  a = 2;

 

  System.out.println("构造器");

  }

  {

  a = 1;

  System.out.println("非静态块1");

  }

  private int a = 3;

  public void print(){

  System.out.println(a);

  }

  public static void main(String[] args) throws Exception{

  new InstanceTest1().print();

  }

  }

  非静态块1

  构造器

  2

  测试证明:1,2优先于3执行,且不受代码顺序影响

  再测试:

  package com.skymr.learn;

  /**

  * 实例变量初始化顺序测试

  * @author skymr

  *

  */

  public class InstanceTest1 {

  public InstanceTest1(){

  System.out.println("构造器");

  }

  {

  a = 1;

  System.out.println("非静态块1");

  }

  private int a = 3;

  public void print(){

  System.out.println(a);

  }

  public static void main(String[] args) throws Exception{

  new InstanceTest1().print();

  }

  }

  结果:

  非静态块1

  构造器

你可能感兴趣的:(java,技术,package,private,public)