web全栈课程
JAVA课程
学什么技术好
首页 >手机网站 > 新闻 > Java基础之初始化(2)

Java基础之初始化(2)

前面一篇讲到了对象创建过程、初始化相关函数,并介绍了默认初始化值,这篇文章我们继续讲解Java基础初始化的相关内容。
四、初始化方法
在定义类成员变量的地方为其赋值。
例如:char ch=’x’;
byte b=47;
Depth d=new Depth();//如果没有为d指定初始值就尝试使用它,就会出现运行时错误。
通过调用某个方法来提供初值:
例如:
public class MethodInit{
int i=f();
int f(){
Return 11;
}
}
构造器初始化:
public class Counter{
int i;
Counter(){
i=7;
}
}
利用static块进行初始化:
static{
......
}
五、初始化顺序:
无继承情况的初始化顺序:
静态块和静态数据按定义的先后顺序进行初始化。
普通成员初始化。
构造函数。
有继承情况的初始化顺序:
父类的静态块和静态数据按定义的先后顺序进行初始化。
子类的静态块和静态数据按定义的先后顺序进行初始化。
父类的普通成员初始化。
父类的构造函数。
子类的普通成员初始化。
子类的构造函数。
Static关键字不能应用于局部变量,只能作用于域,如果一个域是静态的基本类型域且没有对它进行初始化那么它就会获得基本类型的标准初值,如果是一个对象的引用那么它的默认初始化值就是null。
静态初始化只有在必要时刻才会进行,当首次生成这个类的一个对象时,或者访问属于那个类的静态数据成员时,才开始初始化。并且静态初始化动作仅执行一次。
无继承的初始化顺序,代码验证:
输出如下所示:
1、静态成员变量初始化
2、执行static块:
静态块变量初始化
3、普通成员变量初始化
4、构造函数被调用
5、执行成员方法
3、普通成员变量初始化
4、构造函数被调用
5、静态变量初始化只执行一次
有继承的初始化顺序代码验证:
输出结果如下所示:
1、父类静态成员变量初始化
2、执行父类static块:
父类静态块变量初始化
3、执行子类static块:
子类静态块变量初始化
4、子类静态成员变量初始化
5、父类普通成员变量初始化
6、父类构造函数被调用
7、子类普通成员变量初始化
8、子类构造函数被调用
9、调用成员方法
5、父类普通成员变量初始化
6、父类构造函数被调用
7、子类普通成员变量初始化
8、子类构造函数被调用
2016-02-16 12:27:00
相关热词搜索:

其他资讯

  T96班第一学期马上就要结束了,大家都赶着做项目,忙得热火...
2014-06-23
小天今年高中毕业,由于高考成绩并不理想,再加上家中还有弟弟妹...
2019-10-11
10月10日,嘉华教育集团季度总结表彰分享会暨优秀教职员工颁奖典...
2016-10-11
星的光点点洒于午夜人人开开心心说说故事偏偏今宵所想讲不太易迟...
2018-07-31
这几日天公作美,在这阳光灿烂、秋风和煦的日子里,北大青鸟深圳...
2015-10-30
今天上午,北大青鸟深圳嘉华学校T113班 jQuery特效大赛在嘉华校...
2015-12-22
申请嘉华免费学习机会
姓名:
电话:
我适合学IT技术吗?测一测揭晓答案
2022不知道学什么好?
北大青鸟职业规划老师免费规划学习方案
姓名 电话
说明:您的信息通过加密传输,请放心填写,提交后请保持手机通畅,我们将在24小时内与您联系。