1. final实例域
如果一个实例域被定义为final,构建对象时就必须初始化这个实例域,也就是构造执行之前就必须对final修饰的实例域进行设值,并且在后面的操作中无法更改此实例域。final一般修饰的是基本类型域或者是不可变类,如String就是一个不可变类。
2. static静态域和静态方法
静态域是采用static修饰的实例域,它与实例域不同的是每个类中只有一个这样的静态域而可能存在多个实例域。因为我们美创建一个对象之后对于所有的实例域都会有一份自己的拷贝,其中包括final修饰的实例域。如:
private static int id = 1;
3. 静态常量
静态常量是采用static final修饰的实例域,它也是属于类的一个域。例如在Java中的Math类中的PI就是采用static final修饰的一个域,这也就标识了它只属于类而不属于对象,且具有不可变性。
public static final double PI = 3.14159265358979323846;
4. 静态方法
静态方法是采用static修饰的方法,是一个不能向对象实施操作的方法,换句话而言也就是没有隐式参数,只能采用类名调用。如Math类中的pow方法,一般使用时都是采用Math.pow。