Java学习笔记四(代码块 )
1 代码块的分类:java中的代码块是指使用{}括起来的一段代码,根据位置不同可以分为四种:
普通代码块
构造快
静态代码块
同步代码块
今天主要学习前三种代码块,同步代码块在学习到多线程部分的时候再加学习。
2 普通代码块:直接定义在方法中的代码块,如下:
public class CodeSpace { public static void main(String args[]){ { int x = 30; System.out.println("普通代码块x="+x); } // System.out.println("普通代码块之外x="+x); int x=10; System.out.println("普通代码块之外x="+x); } }
3 构造快:将代码直接定义在类中
class CodeDemo{ { System.out.println("构造快"); } public CodeDemo(){ System.out.println("构造方法"); } }; public class CodeSpace { public static void main(String args[]){ new CodeDemo(); new CodeDemo(); new CodeDemo(); } }
运行结果表明:构造快先与构造方法执行,每实例化一个对象就执行构造块中的内容。
4 静态代码块:直接用static关键字声明的代码块
class CodeDemo{ public CodeDemo(){ System.out.println("构造方法"); } { System.out.println("构造快"); } static{ System.out.println("class CodeDemo 静态代码块 "); } }; public class CodeSpace { static{ System.out.println("class CodeSpace 静态代码块"); } public static void main(String args[]){ new CodeDemo(); new CodeDemo(); new CodeDemo(); } }
执行结果分析:静态代码块先于主方法执行;在普通类中定义的静态块,在类实例化的时候执行,先于构造函数执行,且不管有多少个实例化对象产生静态代码块只执行一次,静态代码一般用来为静态属性进行初始化。