Java基础——代码块

代码块:在类或方法中直接使用 “{ }”括起来的一段代码,表示一块代码区域。java

代码块里变量属于局部变量,只在本身所在区域{ }内有效。spa

代码块依据位置不一样分为三种形式:code

  • 局部代码块:直接定义在方法内部的代码块。通常不直接使用,常结合if /for语句中使用的局部代码块。

    局部代码块程序示例:对象

    public class CodeBlock {
    
    	public static void main(String[] args) {
    	
    		int a=1;
    		{
    			int b=2;
    			System.out.println(a);
    			System.out.println(b);
    		}
    		System.out.println(a);
    		
    		// System.out.println(b);  //此处b没法输出
    	}
    
    }

    局部代码块程序示例运行结果:编译

    1
    2
    1
  • 初始化代码块(构造代码块):直接定义在类中。每次建立对象都会执行初始化代码块,每次建立对象都会调用构造器。在调用构造器以前,会先执行本类中的初始化代码块。(经过反编译后,会发现初始化代码块也做为构造器的最初语句。)

 

    

        

        初始化码块程序示例:class

  • public class CodeBlock {
    
    	{
    		System.out.println("初始化代码块##########");
    	}
    	
    	CodeBlock(){		//构造器
    		System.out.println("构造器!!!!!!!!!");
    	}
    	public static void main(String[] args) {
    	
    		new CodeBlock();
    		System.out.println("~~~~~~~~~~~");
    		new CodeBlock();
    		
    	}
    
    }

     初始化码块程序示例运行结果:变量

    初始化代码块##########
    构造器!!!!!!!!!
    ~~~~~~~~~~~
    初始化代码块##########
    构造器!!!!!!!!!

               

  • 静态代码块(使用static修饰的代码块):在主方法执行以前执行静态代码块,且执行一次。程序

  静态代码块程序示例:方法

 

public class CodeBlock {

	{
		System.out.println("初始化代码块##########");
	}
	
	CodeBlock(){		//构造器
		System.out.println("构造器!!!!!!!!!");
	}
	
	static{		//静态代码块A
		System.out.println("静态代码块A:$$$$$$$$$$");
	}
	
	public static void main(String[] args) {
	
		new CodeBlock();
		System.out.println("~~~~~~~~~~~");
		new CodeBlock();
		
	}
	
	static{		//静态代码块B
		System.out.println("静态代码块B:$$$$$$$$$$");
	}

}

 

        静态代码块程序示例运行结果:im

静态代码块A:$$$$$$$$$$
静态代码块B:$$$$$$$$$$
初始化代码块##########
构造器!!!!!!!!!
~~~~~~~~~~~
初始化代码块##########
构造器!!!!!!!!!
相关文章
相关标签/搜索