Java代码块

1.局部代码块

          局部代码块位于方法中,每个方法中可以有多个局部方法块,按顺序执行,方法块中定义的变量作用范围只在当前代码块。

2.成员代码块

        成员代码块位于类中,每个类中可以存在多个成员代码块,按顺序执行,执行顺序优先于构造方法,并且每new一次对象都会执行一次成员代码块。
        成员代码块可以对类的属性初始化,但使用率较低。

3.静态代码块

        静态代码块位于类中,每个类中可以存在多个静态代码块,按顺序执行,在第一次加载类的时候执行,只执行一次。
        静态代码块用来给静态变量初始化,执行一些全局性的初始化操作。

4.关于属性赋值顺序

        1、默认初始化
        2、显示初始化(或成员代码块初始化),决定两者的位置,谁在上谁先执行
        3、构造方法初始化
        4、方法中对对象的属性进行修改

     下面看代码

public class Block {
	{
		System.out.println("block 1");
	}
	public Block(){
		System.out.println("构造方法");
	}
	
	static{
		System.out.println("static block 1");
	}
	{
		System.out.println("block 2");
	}
	
	public static void main(String[] args) {
		{
			System.out.println("method block 1");
		}
		new Block();
		System.out.println("===============");
		new Block();
		{
			System.out.println("method block 2");
		}
	}

	static{
		System.out.println("static block 2");
	}
}


         执行结果
static block 1
static block 2
method block 1
block 1
block 2
构造方法
===============
block 1
block 2
构造方法
method block 2





  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值