static 关键字

修饰类的成员变量和成员方法

  1. 静态成员为类的实例所共享
  2. 静态方法不能重载,为静态

修饰类

只能修饰内部类。有三个特点:

  1. 静态内部类跟静态方法一样,只能访问静态的成员变量和方法,不能访问非静态的方法和属性。非静态内部类可以访问任意外部类的成员变量和方法
  2. 静态内部类可以声明普通成员变量和方法,而非静态内部类不能声明 static 成员变量和方法[1]
  3. 静态内部类可以单独初始化,如下
// Wheel 是静态内部类时
CarParts.Wheel wheel = new CarParts.Wheel();

// Wheel 是非静态内部类时
CarParts carParts = new CarParts();
CarParts.Wheel wheel = carParts.new Wheel();

  1. http://stackoverflow.com/questions/975134/why-cant-we-have-static-method-in-a-non-static-inner-class ↩

你可能感兴趣的:(static 关键字)