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,否則不會,前面類對此變量的修改會影響后面的結果。
總結
以上是生活随笔為你收集整理的java static变量销毁_JAVA里static 变量在程序执行结束后是否被消毁的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java socket nio 阻塞_J
- 下一篇: java鼠标监听事件_JAVA 鼠标事件