包含继承的初始化顺序总结

来源:互联网 发布:怎么联系网络服务商 编辑:程序博客网 时间:2024/05/02 01:12

前一篇文章写了一个类自身的初始化顺序.

这次写一下包含继承状况下的初始化顺序:

网上有一篇说可以这么总结初始化顺序,但是我认为是有错的.

父类--变量
父类--初始化块
父类--构造器

子类--变量
子类--初始化块
子类--构造器


首先,还有一个初始化过程,就是把所有变量都置null(基本类型置初始值 int 等0 ,bolean false,引用类型null)的过程

其次,变量指定初始化和代码块初始化的优先级是相等的,也就是说谁先写在前面就先执行:

比如

int son=1;{son=2;}
结果是2

{<span style="white-space:pre"></span>son=2;}int son=1;
结果是1;


所以可以把指定初始化也当成是代码块的一种

也就是说{int son}



0 0
原创粉丝点击