黑马程序员技术交流社区
标题:
Java基础--静态代码块及执行顺序
[打印本页]
作者:
michael_wlq
时间:
2015-8-28 10:42
标题:
Java基础--静态代码块及执行顺序
本帖最后由 michael_wlq 于 2015-8-28 10:45 编辑
静态代码块:用于给类进行初始化的。 格式:
static {
//静态代码块中的执行语句 }
特点:随着类的加载而执行,只执行一次,并优先于主函数, 因为主函数是需要jvm来调用的,同理,也优先于对象执行。
执行优先级:静态代码块>构造代码块>特定构造函数。
class StaticCode {
int num = 9;
// 构造函数
StaticCode() {
System.out.println("b");
}
// 静态代码块,
static {
System.out.println("a");// 不可以使用this关键字
}
// 构造代码块,用来初始化所有对象,优先于生成特定对象的构造函数执行,且其中可以使用this关键字
{
System.out.println("c" + this.num);
}
// 带参数的构造函数
StaticCode(int x) {
System.out.println("d");
}
public static void show() {
System.out.println("show run");
}
}
class StaticCodeDemo {
public static void main(String[] args) {
new StaticCode(4);
}
}
复制代码
执行输出结果为:
a
c9
d
复制代码
作者:
荣斌
时间:
2015-8-28 10:49
又复习了以前的知识点。
作者:
michael_wlq
时间:
2015-8-29 12:00
是啊 ,一起总结回顾下
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2