代码快

所谓代码快是指是哦那个{} 括号括起来的一段代码,其中,同步代码快以后在解释

1.普通代码块

 普通代码块就是直接在方法或是语句中定义的代码块

 

package test6;

public class CodeDemo01 {
	public static void main(String args[]) {    //定义一个普通代码快
		int x=30;
		System.out.println("普通代码块----> x=" +x);
		
	}
	
		int x=100;
		System.out.println("普通代码块----> x=" +x);
}

 2.构造块

  构造代码块是直接写在类中的代码块。 

package test6;

class Demo {

	public Demo() { // 定义构造方法
		System.out.println("2.构造方法");
	}

	{ // 定义构造块
		System.out.println("1.构造块");
	}
}

public class CodeDemo01 {
	public static void main(String args[]) {
		new Demo(); // 实例化对象
		new Demo();
		new Demo();
	}
}

  

  结果:

1.构造块
2.构造方法
1.构造块
2.构造方法
1.构造块
2.构造方法

 

可以发现,构造块优先于构造方法执行,而且每次实例化对象时都会执行构造块中的代码。

3.静态代码块

 静态代码快是使用static关键字声明的代码快

例子:静态代码块

package test7;

class Demo {
	{
		System.out.println("1.构造块");   //优先2 
	}
	static {
		System.out.println("0.静态代码块");      // 优先1
	}

	public Demo() {
		System.out.println("2.构造方法");    //优先3
	}
}

public class CodeDemo03 {
	static {
		System.out.println("在主方法所在类中定义代码快。");
	}

	public static void main(String args[]) {
		new Demo();
		new Demo();
		new Demo();
	}
}

  结果:

在主方法所在类中定义代码快。
0.静态代码块
1.构造块
2.构造方法
1.构造块
2.构造方法
1.构造块
2.构造方法

 

注意:

1.优先顺序,静态--->构造块----->构造方法

2.不管有多少个对象产生,静态代码块只执行一次

*******************************************

静态代码块的妙用:

静态代码快优先于主方法(main)的执行:

public  class CodeDemo04{

   static {
                system.out.println("hello   word!");
                 system.exit(2);

             }
}

 另外一个hello word 程序。可以不用main程序 

posted on 2011-12-02 10:20  wangbokun  阅读(221)  评论(0编辑  收藏  举报

导航