java程序员培训_Java对象的初始化顺序

栏目:Java资讯丨时间:07-17丨来源:未知丨作者:光环IT学院
  java程序员培训_Java对象的初始化顺序。光环it学院的java程序员培训,认为Java发行二十多年来,尤其是在战胜C和C++成为最受程序员喜欢的编程语言之后,一直都是开发者的宠儿。Java不仅仅是一种编程语言,它也是一个完美的开发平台,具有易适应性和动态更新的能力。Java包括世界上顶尖的云开发平台;全球有超过1000万的开发人员,它和其衍生项目的开源社区十分庞大;此外,有150亿个设备和小工具正在运行中;并且,全球目前约有500万学生正在研究它。

java程序员培训
 
  1.初始化涉及的几个部分

  Java对象在初始化时不仅仅调用自身的构造方法,还涉及静态语句块、实例语句块、静态变量初始化、成员变量初始化等执行问题,初始化顺序指的就是这五部分的执行顺序。

  2.Demo

  packagecom.javase.classtest;

  publicclassInitializationSequence{

  static{

  System.out.println("静态语句块");

  }

  staticMyInnerClassin=newMyInnerClass("静态变量s");

  MyInnerClassin01=newMyInnerClass("a");

  {

  System.out.println("实例语句块");

  }

  MyInnerClassin02=newMyInnerClass("b");

  publicInitializationSequence(){

  System.out.println("构造函数");

  }

  @SuppressWarnings("unused")

  publicstaticvoidmain(String[]args){

  InitializationSequenceobj01=newInitializationSequence();

  System.out.println("-----------------------------------");

  InitializationSequenceobj02=newInitializationSequence();

  }

  }

  classMyInnerClass{

  publicMyInnerClass(Stringdescription){

  System.out.println("成员变量初始化::"+description);

  }

  }

  分析:

  1.静态语句块:在类加载到JVM时执行,由于JVM使用类的前提是类装载到JVM虚拟机,所以静态语句块首先执行,类只加载一次,静态语句块只执行一次。

  2.静态变量初始化:由于静态变量为类的所有实例所共享,不依赖于具体的对象,因此不是在对象创建时初始化,而是在类加载时初始化,初始化顺序在静态语句块之后,只执行一次。

  3.实例语句块:在构造方法前执行,每调用一次构造方法,执行一次。执行顺序在静态变量初始化之后,以成员变量初始化为参照,没有绝对的先后顺序,实际顺序取决于定义的顺序,定义在前,就在成员变量初始化前执行;定义在后,就在成员变量初始化后执行。

  4.成员变量初始化:在构造方法前执行,每调用一次构造方法,执行一次。执行顺序在静态变量初始化之后,相对于实例语句块的执行顺序取决于定义顺序。

  5.构造方法:最后执行。

  综上可知,Java对象初始化的执行顺序为:静态语句块>静态变量初始化>实例语句块/成员变量初始化>构造方法,实例语句块与成员变量初始化的相对执行顺序取决于定义的先后顺序。

  java程序员培训,就选光环it学院!

  原创文章,转载请注明出处:光环it学院

  

光环IT学院,专注IT培训16年,培养IT行业精英! —

光环IT学院

注:本站文章采用原创+网络转载两个方式,对于转载的文章,由于网络信息过多,无法100%找到原始出处。如果本站文章有侵犯了您的权益,请联系我们删除或授权。

请遵守理性,宽容,换位思考的原则

2017-07-17 11:18 发布 丨 人浏览

热点推荐

微信
公众号

微信扫码,即可关注

反馈
意见
回到
顶部