静态域:如果将类中的域定义为static,则这个域属于这个类,而不属于这个类的某个对象,每个类中只有 一个这样的域,而每一个类对象对于所有的实例域(即没有定义为static的域)都有自己的一份拷贝。例如:
class Employee
{
……
private int id;
private static int nextId = 1;
}
如果有1000个Employee对象,则有1000个实例域id,但是只有一个静态域nextId;即使没有一个Employee对象,静态域nextId也存在,它属于类,不属于任何对象。
静态域也成为类域。
静态常量:如果一个域被定义为static final,则这个域就是一个静态常量。不能省略任何一个关键字,若是少了static,则该域变成了一个实例域,需要由类对象对其进行访问。若是省略了final,则该域变成了静态域,静态方法可以对其进行修改。
例子:
public class Math
{
……
public static final double PI=3.14159265358979323864;
……
}
其中PI就是一个静态常量。