java基础09之类变量初始化时机

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java基础09之类变量初始化时机相关的知识,希望对你有一定的参考价值。

讨论了实例变量的初始化时机,现在来讲讲类变量的初始化时机。

    实例变量属于Java类本身,只有当程序初始化该Java类时才会为该类的类变量分配内存空间,并执行初始化。

    从程序运行的角度来看,每JVM对一个Java类只初始化一次,因此Java程序每运行一次,系统只为类变量分配一次内存空间,执行一次初始化。填写图片摘要(选填)

技术分享
技术分享

?注释掉的代码如果执行的话运行程序为3000

如果把代码放在初始工资下面的话程序运行为5000?

技术分享

Salary、Demo先被类加载,在main方法通过实例化对象调用currentSalary,静态对象s先将值赋给currentSalary为3000,然后iniSalary又赋值,此时为5000,又实例对象给addSalary赋值,最后currentSalary结果为6000

以上是关于java基础09之类变量初始化时机的主要内容,如果未能解决你的问题,请参考以下文章

java成员变量怎么默认初始化

java里的静态成员变量是放在了堆内存还是栈内

java语言中成员方法可以初始化成员变量吗?

java 中静态成员变量有没默认的初始值

类变量和实例变量及其初始化

Java基础之类的基础