2016 - 2024

感恩一路有你

static可以被重新赋值吗 静态变量不是不能被重新初始化赋值吗?

浏览量:2190 时间:2021-03-10 14:24:02 作者:admin

静态变量不是不能被重新初始化赋值吗?

静态变量只存在于本地函数域中,但当程序执行离开此域时,它们的值不会丢失。声明方法是:static$name=value,其中static是声明静态变量的关键字,$name是变量的名称,value是变量的值。&是吗?Phpfunctiontest(){static$AA=0echo$AA$AA}?>变量$AA在第一次调用test()函数时初始化。每次调用test()函数时,都会输出$AA的值并加上1

当一个类的数据成员声明为static时,静态数据成员只能定义一次并由同一个类的所有对象共享。每个对象都有类中每个普通数据成员的一个副本,但静态数据成员只存在一个实例,而不管定义了多少个类对象。静态数据成员的目的之一是统计实际存在的对象数。静态数据成员不能在类中初始化。实际上,类定义只用于描述对象的蓝图,其中不允许指定初始值。无法在函数中初始化静态数据成员,因为静态数据成员由类的所有对象共享,因此每次创建类的对象时,都会重新初始化静态数据成员。

为什么静态成员变量要通过类外初始化赋值?

Java变量的初始化顺序如下:父静态变量、父静态代码块、子类静态变量、子类静态代码块、父非静态变量、父非静态代码块、父构造函数、子类非静态变量、子类非静态代码块、子类构造函数。R您可以观察以下程序的执行情况:[R

程序输出:[R]最近,我们在工作过程中遇到了一个错误。我们发现Java变量的初始化顺序并不像上面那样简单。让我们修改类A和类B程序输出。[R] 可以发现,静态块和静态变量的初始化顺序与其声明的位置有关。首先执行第一个声明,然后执行普通块和普通变量的初始化顺序。右

static可以被重新赋值吗 static初始化和赋值 静态成员变量赋值

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。