java 构造块定义和使用(垃圾回收,包的了解)

本文深入解析Java中的构造块(block)概念,包括局部代码块、构造块、静态块的定义、执行时机及顺序,并探讨了垃圾回收机制(GC)的工作原理,以及哪些对象可能成为垃圾回收的目标。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

构造块 block

block 块 { }

{ } 定义在方法中 ----> 局部代码块 | 普通代码块 执行时机: 方法调用时

局部代码块
{
	int a = 10;
	System.out.println(a);

}

{ ] 定义在类中方法外 —> 构造块 执行时机: 创建对象的时候

public class block{
	static int a = 5;
	int b = 3;
	//类中方法外  创建对象时使用
	{ 	
		System.out.println("构造块");
		System.out.println(a);
		System.out.println(b);
	}
	public static void main(String[] args) {
		
	}
}

Sstatic {} 定义在类中方法外 — > 静态块 执行时机:类第一次加载时

public class block{
	static int a = 5;
	int b = 3;
	//静态块
	static{
		System.out.println("静态块");
		System.out.println(a);
		block b = new block(); //需创建对象才能调用成员变量
		System.out.println(b.b);
	}
	public static void main(String[] args) {
		
	}
}

执行顺序
静态块 ----- > main -----> 构造块 ------> 构造器

{ } 就是一个作用域

构造块中的代码先与构造器代码执行, 因为编译时编译器会自动把构造块中的代码编译到构造构造器代码之前

如果有多个构造块,则会从上到下依次执行

构造块中代码先与构造器代码执行, 如果有多个构造块,从上到下依次执行

static只执行一次,在类的第一次加载后执行,如果存在多个静态块,从上到下依次执行

gc 垃圾回收机制

可回收的对象垃圾:

​ 1.匿名对象

new Deom01();

​ 2.对象无引用状态

Demo d = new Demo01();
d=null;

包 package:

注意: 不要定义与jdk 相同的包,否则引起很多问题

不需要导包的情况:

​ 1.java.lang包下的内容

​ 2.同包下的内容

如果使用非当前包下的内容

​ 1.使用的包写全名 包名+类名,只在当前位置有效

​ 2.import导包

​ 3.* 模糊匹配, 不影响运行效率,只影响编译效率

​ 4.静态导入,只导入静态的内容 (属性|方法)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值