中易网

java中static的用法,谁能通俗地给我说说啊

答案:6  悬赏:0  
解决时间 2021-12-16 05:05
java中static的用法,谁能通俗地给我说说啊
最佳答案
看个简单的例子:
class Value {
static int c = 0;

static void inc() {
c++;
}
}

public class Count2 {
public static void prt(String s) {
System.out.print(s);
}

public static void main(String[] args) {
Value v1, v2;
v1 = new Value();
v2 = new Value();
prt("v1.c=" + v1.c + " v2.c=" + v2.c);
v1.inc();
prt(" v1.c=" + v1.c + " v2.c=" + v2.c);
}
}
执行了 v1 = new Value(); v2 = new Value();,c的值均为0;可以理解吧?
执行了 v1.inc(); 后,你可能想的是v1的C变成1了,但是别忘了,C是静态变量,所以不管是谁的C,都是1.所以输出结果是:v1.c=0 v2.c=0 v1.c=1 v2.c=1

但是,如果上面的C没有static修饰,那么结果就是v1.c=0 v2.c=0 v1.c=1 v2.c=0

我这样说你明白了吧
全部回答
顾名思义是静态变量,相当于c中的全局变量
类在实体化之前是不会被分配内存的,也就是不能运行。static可以让你的方法在它的类实体化之前就可以使用,比如在主类中。
简单的说, 对于static的方法和变量,你可以直接用 类名.方法 或者 类名.变量 进行调用。 当然也可以用 new 类名().方法 或者 new 类名(). 变量 调用。
static是相对于类的变量,就是不用创建对象,就已经在内存中给static的变量分配了空间,和这个类创建的对象就没有关系了。调用的时候,用 类名.x来使用,也可以用对象名来使用。
看个简单的例子: class Value { static int c = 0; static void inc() { c++; } } public class Count2 { public static void prt(String s) { System.out.print(s); } public static void main(String[] args) { Value v1, v2; v1 = new Value(); v2 = new Value(); prt("v1.c=" + v1.c + " v2.c=" + v2.c); v1.inc(); prt(" v1.c=" + v1.c + " v2.c=" + v2.c); } } 执行了 v1 = new Value(); v2 = new Value();,c的值均为0;可以理解吧
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
夷岨的意思是什么啊?请解释下!
gta5800×600分辨率怎么调成全屏,按过alt+en
路绝的意思是什么?路绝的释义是什么啊?
大连最好的证券从业培训机构是哪一个?眼看三
android程序在模拟器上运行时是项目的英文名,
已知数列{an}的前n项和Sn满足:Sn=a(Sn-an+1)(
垂腴的意思是什么?垂腴的释义是什么啊?
川中岛桃子是早塾品种吗?
秀德的意思是什么啊?请解释下!
中国海洋大学食品科学与水产品加工与贮藏。
木瘿的意思是什么?木瘿的释义是什么啊?
好想下班的句子
巧夕的意思是什么啊?请解释下!
夏天活鱼用冰块拔上能保鲜几小时
遼巢的意思是什么?遼巢的释义是什么啊?
推荐资讯
学富教育是专做一对一辅导的教育机构吗
电视机看着突然就发出兹兹的声音
怎么用C++语言编一个电脑随机输出1,2或3的程
印象深刻难以忘记用什么词语来表达
索尼相机照相的时候显示"无memorystick"照的
软冻冻的意思是什么?软冻冻的释义是什么啊?
空调扇可以加制冷设备吗?可以加装哪些制冷设
格喳的意思是什么?格喳的释义是什么啊?
玧子的意思是什么?玧子的释义是什么啊?
精密轴承b代表什么
野渚的意思是什么?野渚的释义是什么啊?
丰田威驰几年换一代
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?