Java中静态变量的适用场景

静态变量的类型说明符是static。静态变量当然是属于静态存储方式,但是属于静态存储方式的量不一定就是静态变量,例如外部变量虽属于静态存储方式,但不一定是静态变量,必须由 static加以定义后才能成为静态外部变量,或称静态全局变量。

对于自动变量,它属于动态存储方式。但是也可以用static定义它为静态自动变量,或称静态局部变量,从而成为静态存储方式。由此看来,一个变量可由static进行再说明,并改变其原有的存储方式。

Java类中的静态变量在程序运行期间,其内存空间对所有该类的对象实例而言是共享的,有些时候可以认为是全局变量。因此在某些时候为了节省系统内存开销、共享资源,可以将类中的一些变量声明为静态变量,通过下面的例子,你可以发现合理应用静态变量带来的好处:

Java代码

 

 
 
 
  1. public class WeekA{  
  2. static class Data {  
  3. private int week;  
  4. private String name;  
  5. Data(int i, String s) {  
  6. week= i;  
  7. name = s;  
  8. }  
  9. }  
  10. Data weeks[] = {  
  11. new Data(1"Monday"), new Data(2"Tuesay"), new Data(3"Wednesday"), new Data(4"Thursday"), new Data(5"Friday"), new Data(6"Saturday"), new Data(7"Sunday")  
  12. };  
  13. public static void main(String args[]) {  
  14. final int N = 10000;  
  15. WeekA weekinstance;  
  16. for (int i = 1; i <= N; i++){  
  17. weekinstance = new WeekA ();  
  18. }  
  19. }  
  20. }   
  21. public class WeekA{  
  22. static class Data {  
  23. private int week;  
  24. private String name;  
  25. Data(int i, String s) {  
  26. week= i;  
  27. name = s;  
  28. }  
  29. }  
  30. Data weeks[] = {  
  31. new Data(1"Monday"), new Data(2"Tuesay"), new Data(3"Wednesday"), new Data(4"Thursday"), new Data(5"Friday"), new Data(6"Saturday"), new Data(7"Sunday")  
  32. };  
  33. public static void main(String args[]) {  
  34. final int N = 10000;  
  35. WeekA weekinstance;  
  36. for (int i = 1; i <= N; i++){  
  37. weekinstance = new WeekA ();  
  38. }  
  39. }  

希望本文能给你带来帮助。

【编辑推荐】

  1. Java中ArrayList和LinkedList区别
  2. JSONP跨域原理和jQuery.getJSON用法
  3. JavaBean中使用JDBC方式进行事务处理
  4. 如何在Java应用程序中动态分配CPU资源
  5. 详细解析Java中抽象类和接口的区别
THE END