1、代码块︰使用括号括起来的一段代码称为代码块。按照代码块出现的位置以及关键字一共分为以下四种代码块
(1)普通代码块:定义在方法中,直接使用{}括起来的代码块称为普通代码块
①作用域仅限于当前代码块的内部可见{ { int x = 10; //x只在当前大括号里有作用,所以下面不会报错 int y = 20; //下面的y还没运行到,所以不报错 System.out.println(x+y); } int x = 10; //上面的x只在上面大括号里有作用,所以不会报错 int y = 20; //y在整个大括号里有作用,所以下面的y会出错 System.out.println(x+y); { int x = 10; //中间的x生效了,而且在它下面所以有错 int y = 20; //中间的y生效了,而且在它下面所以有错 System.out.println(x+y); } }
(2)构造块∶定义在类的内部,不加任何修饰符的代码块称为构造块
①构造块优先于构造方法执行,有几个对象产生,就执行几次构造块的代码,一般用在构造方法之前进行某些属性的默认值初始化操作~~
②一个类可以存在多个构造代码块。其实N个构造块按照定义的顺序,编译之后都会合并在构造方法的最前面
(3)静态代码块∶定义在类中,使用关键字static修饰的代码块称为静态代码块
①在该类被JVM加载时执行一次,后面无论有多少对象产生,都只在类加载时执行一次!
②静态块在类加载时执行一次,优先于构造块和构造方法执行
③一般构造块用于检查某些类是否被加载或者进行静态变量的初始化操作
④若当前类中存在main方法,静态块还会优先于main方法执行。(主方法存在于类中,要启动主方法,首先需要将主类加载到内存中(静态块一加载就执行了))
⑤类比于构造块,静态块也可以有多个,多个静态块按照书写顺序,编译后会合并为一个大的静态块
Java的三种代码块
最新推荐文章于 2023-05-16 14:03:46 发布