2 sinat 28901077 sinat_28901077 于 2015.06.13 11:33 提问

java中静态变量的生存周期或范围

在一个类里main方法中实现多个实例,会共享静态变量并可修改静态变量,但是在另一个类里main方法中再实现前面那个类的实例,静态变量又回到初始值了…

5个回答

u012216727
u012216727   Ds   Rxr 2015.06.13 14:57
已采纳

变量就是变量的,它不可能保存起来共两个main共享的;其实两个main的话,你一个一个的执行,程序也是从上执行到下的,你顺着这个顺序看看你的程序你就
明白了,这个和静态变量是没有什么关系的;你在两个main里实现的实例是两个不同的对象这点你记清楚;

如果回答对你有帮助,请采纳

frank_20080215
frank_20080215   2015.06.13 11:36

这就成了两个进程的问题了。只能从进程角度考虑、

bdmh
bdmh   Ds   Rxr 2015.06.13 12:55

两个main?那已经不是同一个进程了,你的静态变量只在本进程中有效,不能跨进程

sinat_28901077
sinat_28901077 是不是说,当两个main同时执行时,虽然操作同一个类里的静态变量,但是两个静态变量互不相关?
大约 3 年之前 回复
u010733398
u010733398   2015.06.13 17:50

当你重新new 一个对象的时候,相当于在你的内存区域中开辟了一块新的空间,用于存放new 出来的新对象,既然是新的,那么静态变量肯定又回到初始值了。

beacon_2011
beacon_2011   Rxr 2015.06.14 12:07

一个类怎么会有两个main方法

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
静态变量,静态局部变量的生存周期
首先要理解生存周期与作用域的区别: 生存周期: 变量从定义到销毁的时间范围。存放在全局数据区的变量的生存周期存在于整个程序运行期间,而存放在栈中的数据则随着函数等的作用域结束导致出栈而销毁,除了静态变量之外的局部变量都存放于栈中。 作用域: 变量的可见代码域(块作用域,函数作用域,类作用域,程序全局作用域)。 static变量是指静态的变量,不管是在全局还是局部声明的static
局部变量的作用域和生存周期
变量定义的三种情况 (1)在函数开头定义 (2)在函数的内部定义 (3)在复合语句块内部定义 局部变量 定义在函数内部的变量只能在函数内部引用,同样定义在复合语句块中的变量只是在复合语句块内有效。将这种变量称为“局部变量”,顾名思义,这些变量的作用域仅仅是在函数内部或复合语句块内。 //复合语句块的局部变量举例 # include<stdio.h> int main(...
static 静态变量生命周期。-=---
static生命周期 2011-07-15 16:01 静态变量的类型说明符是static。静态变量当然是属于静态存储方式,但是属于静态存储方式的量不一定就是静态变量,例如外部变量虽属于静态存储方式,但不一定是静态变量,必须由 static加以定义后才能成为静态外部变量,或称静态全局变量。对于自动变量,它属于动态存储方式。但是也可以用static定义它为静态自动变量,或称静态局部变量,从而
静态变量的生存周期和作用域
首先要理解生存周期与作用域的区别:生存周期: 变量从定义到销毁的时间范围。存放在全局数据区的变量的生存周期存在于整个程序运行期间,而存放在栈中的数据则随着函数等的作用域结束导致出栈而销毁,除了静态变量之外的局部变量都存放于栈中。作用域: 变量的可见代码域(块作用域,函数作用域,类作用域,程序全局作用域)。static变量是指静态的变量,不管是在全局还是局部声明的static变量都存放于程序的全局变量
C++ 作用域与生命周期 静态static
1⃣️静态局部变量   作用域不变,生命周期延长至程序运行结束 2⃣️静态全局变量    作用域变小,不能extern引用,生命周期不变 类中的静态成员:成员函数,成员变量都是使用对象来进行调用, 也有些数据成员和成员函数属于整个类,称这些成员为类的静态成员(这些成员不属于对象,创建对象时不会为静态成员开辟空间) 静态成员整个类只有一份空间(静态空间) Emploee::pay(50);
DLL中局部静态变量释放时间
背景说明:     DLL中存在很多业务逻辑,包括网络连接的管理。DLL中的所有业务采用多线程管理,假设DLL中有两个工作线程WorkThread1和WorkThread2。DLL中存在一个日志记录系统,采用单件形式编写,单件实例的获取采用局部静态对象的方式。主控制类也采用了单件,单件实例获取同前。 1、主线程装载DLL,调用DLL接口并创建了主控制类单件; 2、WorkThread1中首次
java变量作用域和堆栈
1.成员变量:在类的所有方法外部声明的变量,即类所拥有的变量,可以被系统初始化。 1.1静态成员变量:类被加载时被创建,其生命周期与该类的生命周期相同; 1.2类属性成员变量:在类的实例被创建时产生,其生命周期与该类的实例对象的生命周期相同; 2.局部变量:在定义该变量的方法被调用时创建,在方法调用结束后,该变量也被撤销,不能自动初始化,必须显示的指定初始值。 2.1参数列表局部变
静态变量的生存期和作用域
静态变量的生存期和作用域
java 静态变量生命周期(类生命周期)
Static: 加载:java虚拟机在加载类的过程中为静态变量分配内存。类变量:static变量在内存中只有一个,存放在方法区,属于类变量,被所有实例所共享销毁:类被卸载时,静态变量被销毁,并释放内存空间。static变量的生命周期取决于类的生命周期 类初始化顺序: 静态变量、静态代码块初始化构造函数自定义构造函数 结论:想要用static存一个变量,使得下次程序运行时还能使用上次
static变量和方法特征,private,public,protected作用范围
1、静态全局变量和静态局部变量都是静态存储方式,静态变量就是全局变量; 2、静态局部变量在函数内定义,但不像自动变量那样,当调用时就存在,退出函数时就消失。静态局部变量始终存在着,也就是说它的生存期为整个源程序。 3、静态局部变量的生存期虽然为整个源程序,但是其作用域仍与自动变量相同,即只能在定义该变量的函数内使用该变量。退出该函数后, 尽管该变量还继续存在,但不能使用它。 4、允许对构