Java中的代码块

目录

一、代码块的概念和分类

二、普通代码块

三、构造块

四、静态块

五、注意事项 


一、代码块的概念和分类

概念:使用{}定义的一段代码称为代码块。

分类:根据代码块定义的位置以及关键字,可分为以下四种:

(1)普通代码块

(2)构造块

(3)静态块

(4)同步代码块

二、普通代码块

概念:普通代码块就是定义在方法中的代码块,也叫本地代码块。

这种用法一般比较少见。

三、构造块

概念:定义在类中的代码块(不加修饰符),又称为实例代码块

作用:一般用于初始化实例成员变量

实例代码块内部也可以初始化静态成员变量,但一般不这么做。 

四、静态块

概念:使用static定义的代码块称为静态块,也叫静态代码块

作用:一般用于初始化静态成员变量

静态代码块内部也可以初始化实例成员变量,但一般不这么做。 

五、注意事项 

class Student{
    public String name;
    public int age;
    public static String school;

    public Student(String name, int age) {
        this.name = name;
        this.age = age;
        System.out.println("两个参数的构造方法");
    }

    static {
       System.out.println("第一个静态代码块");
   }
    {
        this.age = 18;
        this.name = "张三";
       //this.school = "家里蹲大学";
        System.out.println("实例代码块");
    }
    static {
        Student.school = "家里蹲大学";
        System.out.println("第二个静态代码块");

        //Student student = new Student();
        //student.name = "李四";//一般不这么做
    }
}

(1)静态代码块不管生成多少个对象,它也只会执行一次

 当我们实例化3个对象时,可以发现,静态代码块仅执行了一次,并且可以得出下面一条结论:

(2)代码的执行顺序为:静态代码块→实例代码块→构造方法,并且和代码块的定义顺序无关

如果有多个实例代码块,则根据它们的定义顺序来先后执行;如果有多个静态代码块,在编译代码时,编译器会按照定义的顺序依次合并。

(3)实例代码块只有在创建对象时才会执行

 同步代码块暂时还没学到哈~

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吃点橘子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值