Java基础之代码块

  • 时间:
  • 来源:互联网
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_43171186/article/details/103263104

在java中一对{}包裹的代码就叫做代码块;
块{} : 是一个作用域
1、 {}写在方法中:普通语句块|局部代码块 执行时机:方法调用时候

public void test(){
      {
       System.out.println("这是普通代码块");       
      }
}

2、 {}写在类中方法外:构造块 执行时机:创建对象时

  public class Demo01{
      {
		System.out.println("这是构造块");
	 }
  }       

3、 static{}写在类中方法外:静态块 执行时机:类加载

public class Demo01{
       static {		
		System.out.println("这是静态代码块");
	}
}

4、运行顺序
静态代码块static{}(同时存在多个时从上到下依次执行)—>main方法—>构造块(同时存在多个时从上到下依次执行)----->构造器



public class Black {
	//构造器
	public Black(){
		System.out.println("构造器");
	}	
	//构造块;创建对象的时候调用,在构造器之前执行存在多个构造码块的时候从上到下依次还行
	{
		System.out.println("这是构造块1");
	}
	{
		System.out.println("这是构造块2");
	}
	{
		System.out.println("这是构造块3");
	}
	{
		System.out.println("这是构造块4");
	}
	//静态代码块;加载类的时候加载到方法区,先与main方法执行,存在多个静态代码块的时候从上到下依次还行
	static{
		System.out.println("静态代码块先于main方法执行1");
	}
	static{
		System.out.println("静态代码块先于main方法执行2");
	}
	static{
		System.out.println("静态代码块先于main方法执行3");
	}
	static{
		System.out.println("静态代码块先于main方法执行4");
	}	
	public static void main(String[] args) {
		System.out.println("main方法执行");		
		//创建对象
		Black bl = new Black();		
	}
}

运行结果
代码运行结果

本文链接http://element-ui.cn/news/show-159.aspx