什么是代码块
在Java中, 使用{ }括起来的代码被称为代码块,可分为局部代码块、构造代码块、 静态代码块。
位置:方法中定义 作用:限定变量的生命周期,及早释放,提高内存利用率 局部代码块在方法内部进行定义,在该代码块内部定义的变量作用范围也仅限于代码块内部,在代码块外部是无法访问代码块内部定义的变量的。 demo:
public class Test {
public static void main(String[] args) {
{
int a=10;
System.out.println(a);
}
System.out.println(a);
}
}
上面这段代码是无法执行的,第二个输出语句会报错,因为它在代码块外部无法访问代码块内部的变量,自然无法输出a的值。
位置:类中方法外定义 特点:每次构造方法执行的时,都会执行该代码块中的代码,并且在构造方法执行前执行 作用:将多个构造方法中相同的代码,抽取到构造代码块中,提高代码的复用性 demo:
public class Test {
public static void main(String[] args) {
Student s1=new Student();
Student s2=new Student(2);
}
}
class Student{
{
System.out.println("这是构造代码块");
}
public Student(){
System.out.println("这是空参构造方法");
}
public Student(int a){
System.out.println("这是有参参构造方法");
}
}
位置:类中方法外定义 特点:需要通过static关键字修饰,随着类的加载而加载,只执行1次 作用:在类加载的时候做一些数据初始化的操作 demo:
public class Test {
public static void main(String[] args) {
Student s1=new Student();
Student s2=new Student(2);
}
}
class Student{
static {
System.out.println("这是静态代码块");
}
public Student(){
System.out.println("这是空参构造方法");
}
public Student(int a){
System.out.println("这是有参参构造方法");
}
}
静态代码块需要用static修饰,我们知道static修饰的变量会随着类的加载而加载,由于类文件只加载一次,所以static修饰的变量也只会加载一次,这个规则在static修饰代码块时依然适用,所以静态代码块会随着类文件的加载而加载,并且只加载一次。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。