重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
对于一个类的初始化步骤:
10年的曲沃网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都营销网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整曲沃建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联公司从事“曲沃网站设计”,“曲沃网站推广”以来,每个客户项目都认真落实执行。
1
static静态的变量定义;
2
static块里的代码执行,static变量也是在此刻初始化的
3
非static变量定义
4
构造器
5
非static变量初始化
比如:
class
test{
private
static
int
a=1;
private
int
b=1;
public
test(){
b=2;
}
}
执行new
test();的时候编译后代码顺序为:
private
static
int
a;
static{
a=1;
}
{
private
int
b;
}
public
test(){
b=1;
b=2;
}
ps:有句口诀叫静静动构动构.....
就是类初始化顺序,意思是:
静静只有类第一次加载执行,静态变量定义--静态块
动构就是,非static的定义初始化。我上面的代码位置调换中b=1是相当与在那个位置执行
对象的初始化顺序:
(1)加载父类(以下序号相同,表明初始化是按代码从上到下的顺序来的)
1.为父类的静态属性分配空间并赋于初值
1.执行父类静态初始化块;
(2)加载子类
2.为子类的静态属性分配空间并赋于初值
2.执行子类的静态的内容;
(3)加载父类构造器
3.初始化父类的非静态属性并赋于初值
3.执行父类的非静态代码块;
4.执行父类的构造方法;
(4)加载子类构造器
5.初始化子类的非静态属性并赋于初值
5.执行子类的非静态代码块;
6.执行子类的构造方法.
总之一句话,静态代码块内容先执行(父先后子),接着执行父类非静态代码块和构造方法,然后执行子类非静态代码块和构造方法。
执行顺序应该是:首先是父类静态块 -- 然后是子类静态块 -- 父类自由块 -- 父类构造函数块 -- 子类自由块 -- 子类构造函数块
这个是我自己总结的,希望对你有帮助~!
1. 父类static(顺序按照代码书写顺序进行)
2. 子类static(顺序按照代码书写顺序进行)
3. 父类非static域、构造器(顺序按照代码书写顺序进行)
4. 子类非static域、构造器(顺序按照代码书写顺序进行)