首页 > 编程语言 > 详细

Java学习之区块

时间:2020-09-17 23:29:59      阅读:53      评论:0      收藏:0      [点我收藏+]

在创建一个对象时,会调用构造方法外还会执行其他区块的语句,例如静态块、构造块。

 

执行顺序——静态块 -- main() -- 构造块 -- 构造方法

静态块在类加载时执行一次,之后便不再执行。可以在对类进行初始化,也可以实例化对象调用方法。但不能使用this、super等关键词,因为此时并没有实例化的对象(除非你实例化一个对象,在调用方法,但还是不能使用this、super)。

当有多个静态块时,按照先后顺序执行。

 

当有子类继承时的执行循序(这里这篇文章写的挺好的,就没再自己写了)

  1. 执行父类的静态代码块,并初始化父类静态成员变量
  2. 执行子类的静态代码块,并初始化子类静态成员变量
  3. 执行父类的构造代码块,执行父类的构造函数,并初始化父类普通成员变量
  4. 执行子类的构造代码块, 执行子类的构造函数,并初始化子类普通成员变量

 

父类静态 -- 子类静态 -- 父类构造代码块 -- 父类构造函数 -- 子类构造代码块 -- 子类构造函数

我常忘记子类静态执行的循序!!!

 

对于父类中的的静态内部类只要不实例化内部类并不会执行内部类中的各个区块(即便是实例化了父类的对象也不会执行,除非父类的区块中有内部类的实例化语句)。

 

参考 java构造块与静态块

Java学习之区块

原文:https://www.cnblogs.com/pong137/p/13681736.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!