JAVA中代码块



代码块分类


1,局部代码块

格式:

{

}

位置:局部代码块是定义在方法或语句中

public class BlockDemo {
	public static void main(String[] args) {
		
		//局部代码块:存在于方法中,控制变量的生命周期(作用域)
		 {
			for(int x = 0;x < 10;x++) {
				System.out.println("我爱Java");
			}
			int num = 10;
		}
		//System.out.println(num);//无法访问num,超出num的作用域范围
 
	}
}



2,构造代码块

格式:

{

}

位置:类中方法外,和成员变量的位置一样

作用:提取多个构造方法的共性

特点:优先于构造方法执行,每次创建对象都会执行一次

package com.itheima_04;
class Teacher {
	String name;
	int age;
	
	{
		for(int x = 0;x < 10;x++) {
			System.out.println("我爱Java");
		}
		System.out.println("我爱Java");
	} 
	
	 
	
	public Teacher() {
		System.out.println("我是无参空构造");
	}
	
	public Teacher(String name,int age) {
		System.out.println("我是有参构造");
		
		this.name = name;
		this.age = age;
	}
	



3,静态代码块

格式:

static{

}

位置:静态代码块是定义在成员位置,使用static修饰的代码块

作用:执行一些初始化操作

特点:随着类的加载而加载,只执行一次

class Teacher {
	String name;
	int age;
 
	//静态代码块:随着类的加载而加载,只加载一次,加载类时需要做的一些初始化,比如加载驱动
	static {
		System.out.println("我爱Java");
	}
	
	public Teacher() {
		System.out.println("我是无参空构造");
	}
	
	public Teacher(String name,int age) {
		System.out.println("我是有参构造");
		
		this.name = name;
		this.age = age;
	}
	
	
}



4,同步代码块(多线程中的同步代码块)

和同步锁用处一样,将线程抢占时,防止数据并发异常,数据被多次调用。学多线程时在总结









你可能感兴趣的:(JAVA中代码块)