Java中代码块的概述和分类

概述

  在java中,使用{ }括起来的代码被称为代码块

分类

  根据代码块位置和声明的不同,可以分为局部代码块,构造代码块,静态代码块,同步代码块

常见代码块

1、局部代码块
  在方法中出现,限定变量生命周期,及早释放,提高内存利用率。
2、构造代码块
  在类中方法外出现,每次调用构造都执行,并且在构造方法前执行
3、静态代码块
  在类中方法外出现,加了static修饰,用于给类进行初始化,在加载的时候就执行,并且只执行一次。


  下面通过举一个代码例子来熟悉上面三种代码块的使用

class Student {
		static {
			System.out.println("Student 静态代码块"); 
		}
		
		{
			System.out.println("Student 构造代码块"); 
		}
		
		public Student() {
			System.out.println("Student 构造方法"); 
		}
	}

	class StudentDemo {
		static {
			System.out.println("StudentDemo的静态代码块");
		}
		
		public static void main(String[] args) {
			System.out.println("我是main方法");
			
			Student s1 = new Student();
			Student s2 = new Student();
		}
	}

  首先初始化类StudentDemo输出静态代码块"StudentDemo的静态代码块",然后从主方法进入,输出"我是main方法",然后为类Student创建对象s1,给类Student初始化执行静态代码块输出"Student 静态代码块",顺序执行输出构造代码块"Student 构造代码块",最后输出构造方法中的"Student 构造方法",然后创建新对象s2,静态代码块已执行过一次,此次不再执行,只输出"Student 构造代码块",“Student 构造方法”。
运行结果

StudentDemo的静态代码块
我是main方法
Student 静态代码块
Student 构造代码块
Student 构造方法
Student 构造代码块
Student 构造方法
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值