问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

在java语言中,有时候变量常量声明时要加一个“static”,有的时候不加。问一下这个词有什么用

发布网友 发布时间:2022-05-13 18:09

我来回答

3个回答

热心网友 时间:2023-10-19 19:58

是静态修饰符,什么叫静态修饰符呢?大家都知道,在程序中任何变量或者代码都是在编译时由系统自动分配内存来存储的,而所谓静态就是指在编译后所分配的内存会一直存在,直到程序退出内存才会释放这个空间,也就是只要程序在运行,那么这块内存就会一直存在。这样做有什么意义呢?
在Java程序里面,所有的东西都是对象,而对象的抽象就是类,对于一个类而言,如果要使用他的成员,那么普通情况下必须先实例化对象后,通过对象的引用才能够访问这些成员,但是有种情况例外,就是该成员是用static声明的(在这里所讲排除了类的访问控制),例如:
未声明为static
class ClassA{
int b;
public void ex1(){

}
}
class ClassB{
void ex2{
int i;
ClassA a = new ClassA();
i = a.b; //这里通过对象引用访问成员变量b
a.ex1; //这里通过对象引用访问成员函数ex1
}
}

声明为static
class ClassA{
static int b;
static void ex1(){

}
}
class ClassB{
void ex2{
int i;
i = ClassA.b; //这里通过类名访问成员变量b
ClassA.ex1; //这里通过类名访问成员函数ex1
}
}
通过以上两种比较,就可以知道static用来修饰类成员的主要作用了,在java类库当中有很多类成员都声明为static,可以让用户不需要实例化对象就可以引用成员,最基本的有Integer.parseInt(),Float.parseFloat()等等用来把对象转换为所需要的基本数据类型。这样的变量和方法我们又叫做类变量和类方法。
接下来讲一下被static修饰后的变量的值的问题,刚才在前面讲过,被static修饰后的成员,在编译时由内存分配一块内存空间,直到程序停止运行才会释放,那么就是说该类的所有对象都会共享这块内存空间,看一下下面这个例子:
class TStatic{
static int i;

public TStatic(){
i = 4;
}

public TStatic(int j){
i = j;
}

public static void main(String args[]){
TStatic t = new TStatic(5); //声明对象引用,并实例化
TStatic tt = new TStatic(); //同上
System.out.println(t.i);
System.out.println(tt.i);
System.out.println(t.i);
}
}
这段代码里面Tstatic类有一个static的int变量I,有两个构造函数,第一个用于初始化I为4,第二个用于初始化i为传进函数的值,在main中所传的值是5,程序首先声明对象的引用t,然后调用带参数的构造函数实例化对象,此时对象t的成员变量I的值为5,接着声明对象tt,调用无参数的构造函数,那么就把对象tt的成员变量i的值初始化为4了,注意了,在这里i是static,那就是说该类的所有对象都共享该内存,那也就是说在实例化对象tt的时候改变了i的值,那么实际上对象t的i值也变了,因为实际上他们引用的是同一个成员变量。最后打印的结果是三个4。呵呵,写到这里大家是否明白了呢?不明白的话还可以看我资料头像加我哦。追问额……首先复制辛苦了。另外我学了三天,听不懂

追答你想学习吗?真心想学的话可以加我裙,二五7,{014.001}

热心网友 时间:2023-10-19 19:58

static变量初始值一定要是常量。 static变量中文名叫静态变量。它与普通的变量比起来有如下几个区别: 1)位置:静态局部变量被编译器放在全局存储区.data,所以它虽然是局部的,但是在程序的整个生命周期中存在。

热心网友 时间:2023-10-19 19:59

加一个就是静态,变量被共享,方法不用new 可以直接类名吊用追问额,麻烦说的明白写可以不。。实在搞不明白。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
双人沙发的一般尺寸是多少 双人沙发的标准尺寸是多少 双人沙发的常规尺寸是多少 一般的双人沙发的尺寸是多少 2人沙发标准尺寸是多少 面对此等形势与挑战,我们又该如何应对? 大量国央企数科公司成立,传统软件公司如何应对 造梦西游OL 造梦西游ol 80级以后该干嘛? 西铁城走心机程序更新失败 房子满二是指多久 java中声明变量时 为什么其他的类型都是小写 而string要大写 JAVA问题,关于类中变量的声明 情人节你最想收到什么礼物呢? java的类中,什么方法要定义什么类型? java中如何定义一个类,定义一个类需要注意那些地方 刷机可以给账号刷掉吗? 情人节收到什么礼物会最难忘? 说说你都收到过哪些最特别的情人节礼物? java 中int的使用 情人节你都收到了哪些礼物,怎么处理的? 我的耳朵一直嗡嗡嗡在响,听不太清楚 耳朵经常听不清,有时会嗡嗡响是怎么了? 佛教提倡放生的经典依据,怎样放生才功德倍增 保险公司运营管理部的工作有哪些 放生鱼死了,被捕捞还有功德吗 把鱼放生到哪里好?放生后再被别人捕捞去吃了,这样放生还有功德吗? 保险公司应该如何经营管理 我钓的鱼,全部放生了.这算积德么 保险公司运营管理岗 放生鱼类:养殖的鱼能放生吗 打印的时候绕短边、长边是什么意思 这可能是2020年BBA中卖得最好的SUV 试驾奔驰GLB 试驾哪吒U:作为电动车,最难得是它开起来像燃油车 中年妇女脚凉是什么原因? 有些刻度尺有刻度的一侧会逐渐向边缘变薄,从侧面看上去的形状如图所示,请从正确使用刻度尺的角度来谈谈 我今年五十岁,到了晚上老感觉会手脚冰凉,到底是哪里身体上出了问题 女性五十岁前时身体发热然后流汗手脚凉是什么原因? (2010?龙岩)有些刻度尺有刻度的一侧会逐渐向边缘变薄,从侧面看上去的形状如图所示,请从正确使用刻度 歌夜词黑脚 声步的 歌夜十月 一首歌夜什么的 邓丽君的歌夜的投影的吉他部分 怎么画坐标轴刻度尺不是等比例的图 oppo铃声歌曲夜是什么歌 求歌夜十月游戏下载。。。最好打上补丁的 迅雷或115都行 要有速度 能玩会加分的 请教:我在加热器控制电路中用了双向可控硅,加了压敏电阻保护,但总烧可控硅,请问会是什么原因?谢谢! 数学老师说了一种尺子让我们去买不知叫什么名字???尺子很宽,有一侧是... 电加热器改双向可控硅控制后,电源的功率因数为何下降? 楚的谁店有谢?歌夜新?谢词 请问奈须蘑菇小说十月歌夜到底讲的什么?另外球奈须蘑菇比较出色的作品