1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > java static变量销毁_JAVA里static 变量在程序执行结束后是否被消毁

java static变量销毁_JAVA里static 变量在程序执行结束后是否被消毁

时间:2021-06-25 08:59:12

相关推荐

java static变量销毁_JAVA里static 变量在程序执行结束后是否被消毁

static变量是属于类的,一般情况下,程序执行结束后,类所占空间会被回收,

static变量自然就被销毁了。 如下所示:

public class StaticVar{

public static int num = 10;

}

public class StaticTest1{

public void

main(String[] args)

{

StaticVar.num++;

System.out.println("value of

number is :"+StaticVar.num);

}

}

public class StaticTest2{

public void

main(String[] args)

{

StaticVar.num++;

System.out.println("value of

number is :"+StaticVar.num);

}

}

当运行StaticTest1,你会得到一个值为11;

当运行StaticTest2,你会同样得到11。

但是,当两个类在同一个作用域调用第三个类中的静态变量时,结果就会不一样,如下所示:

public class StaticVar{

public static int num = 10;

}

public class StaticTest1{

public void add()

{

StaticVar.num++;

System.out.println("value of

number is :"+StaticVar.num);

}

}

public class StaticTest2{

public void

show()

{

StaticVar.num++;

System.out.println("value of

number is :"+StaticVar.num);

}

}

public class StaticTest3{

StaticTest1 st1= new StaticTest1();

StaticTest2 st2= new StaticTest2();

public void main(String[] args)

{st1.add();

st2.show();

}

}

运行StaticTest3 后会得到11

和12 两个结果,所以对于静态变量,只有不存在外部引用时才会被gc,否则不会,前面类对此变量的修改会影响后面的结果。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。