java中static修饰符是什么啊?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
静态变量:
static 关键字用于声明与对象无关的静态变量。 无论类实例化多少对象,静态变量都只有一份拷贝。 静态变量也称为类变量。 局部变量不能声明为静态变量。
静态方法:
static 关键字用于声明独立于对象的静态方法。 静态方法不能使用类的非静态变量。 静态方法从参数列表中获取数据,然后计算数据。
对类变量和方法的访问可以直接使用 classname.variablename 和 classname.methodname 的方式访问。
如下例所示,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