当变量声明为 static 时,将创建该变量的单个副本并在类级别的所有对象之间共享。静态变量本质上是全局变量。该类的所有实例共享相同的静态变量。
静态变量的要点:
- 我们只能在class-level处创建静态变量。参见这里
- 静态块和静态变量按照它们在程序中出现的顺序执行。
下面的 java 程序演示了静态块和静态变量按照它们在程序中出现的顺序执行。
// Java program to demonstrate execution 
// of static blocks and variables 
  
class Test { 
  
    // static variable 
    static int a = m1(); 
  
    // static block 
    static
    { 
        System.out.println("Inside static block"); 
    } 
  
    // static method 
    static int m1() 
    { 
        System.out.println("from m1"); 
        return 20; 
    } 
  
    // static method(main !!) 
    public static void main(String[] args) 
    { 
        System.out.println("Value of a : " + a); 
        System.out.println("from main"); 
    } 
} 
输出:
from m1 Inside static block Value of a : 20 from main
相关用法
- Java Static用法及代码示例
- Java StackTraceElement.getClassName()用法及代码示例
- Java StackTraceElement.getFileName()用法及代码示例
- Java StackTraceElement.getLineNumber()用法及代码示例
- Java StackTraceElement.getMethodName()用法及代码示例
- Java StackTraceElement.isNativeMethod()用法及代码示例
- Java StackTraceElement equals()用法及代码示例
- Java StackTraceElement getClassName()用法及代码示例
- Java StackTraceElement hashCode()用法及代码示例
- Java StackTraceElement isNativeMethod()用法及代码示例
- Java StackTraceElement toString()用法及代码示例
- Java Stack addAll(Collection)用法及代码示例
- Java Stack addElement(E)用法及代码示例
- Java Stack add(Object)用法及代码示例
- Java Stack capacity()用法及代码示例
- Java Stack clear()用法及代码示例
- Java Stack clone()用法及代码示例
- Java Stack contains()用法及代码示例
- Java Stack containsAll()用法及代码示例
- Java Stack copyInto()用法及代码示例
- Java Stack elementAt()用法及代码示例
- Java Stack elements()用法及代码示例
- Java Stack empty()用法及代码示例
- Java Stack ensureCapacity()用法及代码示例
- Java Stack equals()用法及代码示例
注:本文由纯净天空筛选整理自Code_r大神的英文原创作品 Static Variables in Java with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
