静态字段与静态方法
提到静态,就跟关键字static密不可分。
静态字段
- 理解
首先,你可以在变量前加上关键字static。静态字段它只属于类,而不属于任何单个的对象,而对于非静态的实例字段,每个对象都有自己的一个副本。
例如:
class Student{
private static String uniformColor = "black"; //校服颜色
private int score; //成绩
...
}
上例中,校服的颜色这个实例字段对于同一个学校的学生来说都是一样的。也就是说,这个字段被这个类的对象所共用。所以可以将其定义为静态字段。
- 调用
调用时,直接使用“类名.”的方式即可。
public class Test{
public static void main(String[] args){
System.out.println(Student.uniformColor);
//输出black
}
}
静态方法
静态方法是不在对象上执行的方法。
- 理解
例如:
class Student{
private static String uniformColor = "black";
private int score;
...
public static String getUniformColor(){
return uniformColor;
}
...
}
上例中,静态方法getUniformColor()用于返回静态变量uniformColor的值。可以看出,静态方法没有隐式参数,即没有this参数。
那么,什么时候使用静态方法呢?
1、当方法不需要访问对象状态时,因为它需要的所有参数都通过显式参数提供。
2、当方法只需要访问类的静态字段时。