静态字段、静态方法
静态字段
如果将一个字段定义为static,每个类只有一个这样的字段。而对于非静态字段(实例字段),每个对象都有自己的一个副本。
class Employee{
private static int nextId=1;
private int id;
......
}
上面的代码,每一个Employee对象都有一个id字段,但这个类所有的实例将共享一个nextId字段。
例如有100个Employee对象,那么讲有100个id的储存空间,但是静态字段nextId只有一个。即使我们没有创建Employee对象,这个nextId也存在,它属于类,不属于任何一个特定对象。
静态方法
静态方法不是在对象上执行的方法。例如我们用到的Math上的方法:
Math.pow(x,a);
静态方法只能访问类中的静态资源,不能访问实例资源。
下面两种情况我们可以优先选择静态方法更合适:
- 1.方法不需要访问对象状态,因为它需要的所有参数都通过显示参数提供
- 2.方法只需要访问类的静态资源

浙公网安备 33010602011771号