类属性(静态变量)作为该类各个对象之间共享的变量。

在设计类时,分析哪些类属性不因对象的不同而改变,将这些属性设置为类属性,相应的方法设置为类方法。

如果方法与调用者无关,则这样的方法通常声明为类方法(静态方法),由于不需要创建对象就可以调用类方法,从而简化了方法的调用。

在 Java 类中,可用 static 修饰属性、方法、代码块、内部类。

被修饰后的成员具有以下特点:

  1. 随着类的加载而加载;
  2. 优先于对象存在;
  3. 修饰的成员,被所有对象共享;
  4. 访问权限允许时,可不创建对象,直接被类调用。

  5. 没有对象的实例时,可以用.类名.属性名类名.方法名() 访问 static 成员;

  6. 在 static 方法内部只能访问类的 static 属性,不能访问非 static 属性;
  7. 非 static 方法内部可以访问 static 和非 static 属性。
  8. 因为不需要实例就可以访问 static 方法,因此 static 方法内不能有 this 和 super;
  9. 重载的方法需要同时为 static 或非 static。