A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© xiaobokk 中级黑马   /  2016-8-2 22:19  /  525 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

一.代码块   代码块的概述: 在java中,用{}括起来的代码称为代码块
   代码块的分类: 局部代码块;
                          构造代码块;
                          静态代码块;
                          同步代码块(多线程讲解)
   常见代码块的应用:
                          局部代码块:
                                            位于方法中,用于限定变量声明周期,提高内存的使用效率
                          构造代码块:
                                           在类中方法外出现,多个构造函数中相同的代码块,可以提取出来,每次调用构造方法都会执行,在构造方法之前执行.
                                           通过反编译可以发现,构造代码块直接复制到了构造方法中了.
                          静态代码块:
                                           在类中方法外出现,并加上了static修饰,用于给类进行初始化,在类加载的时候就执行,且执行一次

[Java] 纯文本查看 复制代码
class Swap {
	static {
		System.out.println("Swap静态代码块");
	}
	
	public static void main(String[] args) {
		System.out.println("main方法");
		
		Student s1 = new Student();
		Student s2 = new Student();
	}
}

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


代码块的执行顺序:  有main函数的静态代码块 --> main函数 --> Student静态代码块 -->Student构造代码块 -->Student构造方法
                             在后面创建Student对象的时候,Student静态代码块不在执行,直接执行Student构造代码块,然后是Student的构造方法

代码块执行顺序.png (11.83 KB, 下载次数: 11)

代码块的执行顺序

代码块的执行顺序

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马