代码块详解

代码块

什么是代码块?
	由一对花括号括号起来的,就称为代码块
	
代码块的分类?
	局部代码块
	构造代码块
	静态代码块
	同步代码块(学习多线程的时候讲解)
	
局部代码块?
	什么是局部代码块?
		定义在方法中的代码,就称为局部代码块
		
		class Demo {
			public void print() {
				{
				
				}
			}
		}
		
	局部代码块的作用是什么?
		能够让局部变量,更早的在内存中消失,节省内存空间

构造代码块?
	什么是构造代码块?
		定义在类中,方法外的代码块,就称为构造代码块
		
		class Demo {
			{
			
			}
			
			public void print() {
			
			}
		}
	
	构造代码块的作用是什么?
		构造代码块是在创建对象的时候执行,并且是优先于构造方法先执行
	
		可以将构造方法中的共性内容进行抽取,放入到构造代码块中,节省代码的编写

		举例子:
			public class Demo06 {
				public static void main(String[] args) {
					Child c1 = new Child();
					Child c2 = new Child("张三");
					Child c3 = new Child("哪吒", 18);
				}
			}

			class Child {
				{
					System.out.println("哭");
				}
				
				public Child() {
					//System.out.println("哭");
				}
				
				public Child(String name) {
					//System.out.println("哭");
				}
				
				public Child(String name, int age) {
					//System.out.println("哭");
				}
			}

静态代码块?
	什么是静态代码块?
		被静态修饰的构造代码块,就称为静态代码块
		
		class Demo {
			static {
			
			}
			
			public void print() {
				
			}
		}
		
	静态代码块的作用是什么?
		静态代码块是什么时候执行的?
			当.class文件从本地磁盘加载到方法区中形成字节码文件对象的时候,静态代码块会随之执行
			
		为什么静态代码块只会执行一次?
			因为字节码文件只加载一次,并且优先于所有的对象存在于内存中,比构造方法先执行
	
		有什么用?
			给数据进行初始化,当数据只需要被初始化一次的时候,之后可以重复使用的时候,就可以使用
			静态代码块
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喜龙的小博站

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值