码迷,mamicode.com
首页 > 其他好文 > 详细

关于初始化块

时间:2020-03-10 18:37:00      阅读:45      评论:0      收藏:0      [点我收藏+]

标签:顺序   执行   第一个   一个   依次   系统   成员   构造器   创建对象   

初始化块————
可以用static修饰,并且与其他成员一样,有static修饰的初始化块属于类,没有static修饰的初始化块属于对象实例,下面能看到具体的表现。

普通初始化块在对象初始化时,在构造器之前执行(实例变量的声明也可以看作是初始化块代码),执行完初始化块(按顺序)后才会调用构造器创建对象
静态初始化块在类初始化阶段(在创建第一个对象之前)进行,所以比普通初始化块执行要早,而且只执行一次(类没必要重复加载),而普通初始化块则要每次创建实例时都要执行一次。

(静态)初始化块都是有一个共性,就是在执行本类的初始化块之前,会先沿着继承链找到最上面的父类,沿着继承链依次向下执行各个父类的初始化块,最后才执行本类的初始化块,完成本类(或本类实例)的初始化
【因为Java系统加载并初始化某个类时,总是保证该类的所有父类(包括直接父类和间接父类)全部加载并初始化】

关于初始化块

标签:顺序   执行   第一个   一个   依次   系统   成员   构造器   创建对象   

原文地址:https://www.cnblogs.com/woshi123/p/12457731.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!