有关类中initialization初始化的一些说明

Java程序中,类的属性会在任何方法调用前完成初始化,初始化顺序依据属性定义的次序。通过案例及图解,本文详细阐述了类的初始化过程,有助于理解类的初始化行为。

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

众所周知,在java程序中,声明变量就要进行初始化,但是在类中,不用进行初始化。我们一般是先对属性进行封装,然后用类的构造函数进行初始话。class的初始化次序取决于属性的定义次序,也许属性会散落在class中的各个位置,但是,所有的属性一定会在任何一个方法(包括构造方法)调用之前,完成初始化。

案例:

//本程序要实现的是初始化的学习,在类中,变量会在方法调用之前完成所有的初始化工作
public class Initialization 
{
	public static void main(String[] args) 
	{
		Card t = new Card();
		t.f();
	}
}
class Tag
{
	//构造方法
	Tag(int i)
	{
		System.out.println("Tag(" + i + ")");
	}
}
class Card
{
	Tag t1 = new Tag(1);
	//构造方法
	Card()
	{
		System.out.println("Card()");
		Tag t3 = new Tag(3);
	}
	public void f()
	{
		System.out.println("f()");
	}
	Tag t2 = new Tag(2);
}
结果

下面用图进行描述这一过程:

以上说明这个问题,希望对初始化学习有所帮助。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值