Java 教程

Java控制语句

面向对象编程

Java内置类

Java文件处理

Java错误与异常

Java多线程

Java同步

Java网络编程

Java集合

Java接口

Java数据结构

Java集合算法

高级Java

Java杂项

Java APIs与框架

Java类引用

Java有用资源

Java - static关键字



静态变量

static关键字用于创建独立于类的任何实例而存在的变量。无论创建多少个类的实例,静态变量都只有一个副本。

静态变量也称为类变量。局部变量不能声明为静态。

静态方法

static关键字用于创建独立于类的任何实例而存在的方法。

静态方法不使用其定义所在类的任何对象的任何实例变量。静态方法从参数中获取所有数据,并根据这些参数计算某些内容,而无需引用变量。

可以使用类名后跟一个点和变量或方法的名称来访问类变量和方法。

static修饰符用于创建类方法和变量,如下例所示:

示例

public class InstanceCounter {

   private static int numInstances = 0;

   protected static int getCount() {
      return numInstances;
   }

   private static void addInstance() {
      numInstances++;
   }

   InstanceCounter() {
      InstanceCounter.addInstance();
   }

   public static void main(String[] arguments) {
      System.out.println("Starting with " + InstanceCounter.getCount() + " instances");

      for (int i = 0; i < 500; ++i) {
         new InstanceCounter();
      }
      System.out.println("Created " + InstanceCounter.getCount() + " instances");
   }
}

输出

Starting with 0 instances
Created 500 instances

以下是另一个示例,我们使用对象而不是类来访问静态方法:

示例

public class InstanceCounter {

   private static int numInstances = 0;

   protected static int getCount() {
      return numInstances;
   }

   private static void addInstance() {
      numInstances++;
   }

   InstanceCounter() {
      InstanceCounter.addInstance();
   }

   public static void main(String[] arguments) {
      System.out.println("Starting with " + InstanceCounter.getCount() + " instances");

      for (int i = 0; i < 499; ++i) {
         new InstanceCounter();
      }
      InstanceCounter ic = new InstanceCounter();
      System.out.println("Created " + ic.getCount() + " instances");
   }
}

输出

Starting with 0 instances
Created 500 instances
java_basic_syntax.htm
广告