前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java-----代码块

Java-----代码块

作者头像
用户7043603
发布2022-02-27 11:32:06
3120
发布2022-02-27 11:32:06
举报

什么是代码块

在Java中, 使用{ }括起来的代码被称为代码块,可分为局部代码块、构造代码块、 静态代码块。

局部代码块

位置:方法中定义 作用:限定变量的生命周期,及早释放,提高内存利用率 局部代码块在方法内部进行定义,在该代码块内部定义的变量作用范围也仅限于代码块内部,在代码块外部是无法访问代码块内部定义的变量的。 demo:

代码语言:javascript
复制
public class Test {
    public static void main(String[] args) {
        {
            int a=10;
            System.out.println(a);
        }
        System.out.println(a);
    }
}

上面这段代码是无法执行的,第二个输出语句会报错,因为它在代码块外部无法访问代码块内部的变量,自然无法输出a的值。

构造代码块

位置:类中方法外定义 特点:每次构造方法执行的时,都会执行该代码块中的代码,并且在构造方法执行前执行 作用:将多个构造方法中相同的代码,抽取到构造代码块中,提高代码的复用性 demo:

代码语言:javascript
复制
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:

代码语言:javascript
复制
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 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 局部代码块
  • 构造代码块
  • 静态代码块
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档