黑马程序员技术交流社区
标题:
静态代码块,构造代码块,局部代码块的笔记
[打印本页]
作者:
海狮
时间:
2015-10-23 23:22
标题:
静态代码块,构造代码块,局部代码块的笔记
代码块:
静态代码块,构造代码块,局部代码块
静态代码块:
static{}
在类中,函数外,被static修饰的代码块
随着类的加载而执行,而且只执行一次。
作用:用于给类进行初始化。
构造代码块:{}
在类中,函数外,没有任何修饰符的代码块
作用:可以给所有对象进行初始化。
局部代码块:{}
在函数中的被{}包围的代码块,限定作用范围
例:
class Student
{
public String name;
public static String school="西山小学";
{//构造代码块
System.out.println("构造代码块执行");
}
static{//静态代码块
System.out.println("静态代码块执行");
}
Student(String name){//构造函数
this.name=name;
System.out.println("构造函数执行");
}
public String getName(){
return name;
}
public String getSchool(){
return school;
}
}
class TestDemo
{
public static void main(String[] args)
{
Student stu=new Student("小花");
System.out.println(stu.getName());
{//局部代码块
int a=3;
System.out.println(a);
}
//System.out.println(a);//这句不注释会编译失败,提示找不到符号,说明变量a的作用域在局部代码块内
}
}
打印结果:
静态代码块执行
构造代码块执行
构造函数执行
小花
3
由此可知,执行顺序静态代码块先执行(类加载时执行,构造代码块(实现对象时,在构造函数执行前)执行最后到构造函数执行
作者:
会盟天下英豪
时间:
2015-10-24 08:02
学习了。
作者:
汪冰伦
时间:
2015-10-25 08:16
谢谢分享,收益了
作者:
朦胧色彩
时间:
2015-10-25 15:03
感谢分享
作者:
Arron
时间:
2015-10-25 18:46
好的 谢谢啦!`
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2