1) 静态变量:静态变量可以达到全局变量的效果。只要静态变量所在的类被加载,这个静态变量就会被分配内存空间,因此将就可以被使用了。对静态变量的引用有两种方式,分别为类.静态变量和对象.静态变量。静态变量只有一个,被类拥有,所有对象都共享这个静态变量。实例对象适合具体对象相关的。
2) 静态成员方法:静态方法是类的方法,不需要创建对象就可以调用。类.静态方法。非静态方法需要创建对象才可以被调用。静态方法中不能调用非静态方法,,只能访问所属类的静态成员变量和成员方法。因为静态方法被调用时,这个类的对象可能还没有被创建。静态方法一个重要实现:单例设计模式。单例设计模式的特点是只能有一个实例,所以必须隐藏类的构造函数,声明为private,并提供一个创建对象的静态方法。由于构造函数被声明为private,外界无法直接创建这个类型的对象,只能通过该类提供的方法来获取类的对象,所以用静态方法。
3) 静态代码块:在类中是独立于成员变量和成员函数的代码块,他不在任何一个方法体内,JVM在加载类时会执行static代码块,如果有多个static代码块,JVM将会按照顺序来执行。Static代码块经常被用来初始化静态变量。Static代码块只会被执行一次。
4) 静态内部类:不依赖外部类的实例化而实例化。静态内部类不能与外部类有相同的名字,不能访问外部类的普通成员变量,只能访问外部类的静态成员和静态方法(包括私有类型)。