首先需要说明的是Java中的变量分为两种:成员变量和局部变量
其中成员变量又可分为:实例变量(非静态变量)和类变量(静态变量)
局部变量(局部变量的作用时间很短,所以一般是存储在栈中的):
1、形参在方法签名中定义的变量,此时的局部变量存储在栈中,随着方法的结束而销毁。
2、方法中定义的变量,此时的局部变量存储在栈中,随着方法的消亡二销毁。
3、代码块中定义的局部变量,此时的局部变量存储在栈中,随着方法块的结束而销毁。
实例变量的初始化时机:
1、在声明实例变量的时候初始化实例变量的值或者在第一次使用的时候初始化值
2、在非静态代码块中初始化变量的值
3、在构造方法中初始化变量的值
上面三种初始化变量的时机不同:
前两种初始化变量的时机要比在构造方法中初始化变量要执行的更早,但是前两种初始化变量的时机不确定,需要是它们的先后顺序而定哦。
类变量的初始化时机:
1、在声明类变量的时候初始化对应的变量值
2、在静态代码块中初始对应的类变量的值
这两个变量的执行顺序与它们在源程序的排列顺序相同。
好吧,就先到这里吧,具体的例子就不举了~