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();
	}
}

  执行结果分析:静态代码块先于主方法执行;在普通类中定义的静态块,在类实例化的时候执行,先于构造函数执行,且不管有多少个实例化对象产生静态代码块只执行一次,静态代码一般用来为静态属性进行初始化。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。