静态成员变量和静态方法
静态成员变量
在类的定义体中使用是他提出进行修饰。如果不声明为private的话,在类的外部也是可见的。
静态成员变量的特点
- 首先它是成员变量,依然可以被类中的成员方法访问。
- 外部访问的时候,可以直接通过类名进行引用,不需要再实例化对象。例如:
class Chinese{
static String country = "中国";
int age;
...
void singOurCountry(){
System.out.println("亲爱的:"+country);
}
}
class TestChinese{
...main(..){
System.out.println("中国人的祖国是唯一的:"+Chinese.country);
}
}
注意
方法体内的变量是不能声明为静态的,静态的只能是类的成员变量。
静态方法
同静态成员变量类似,不必创建对象,就可以直接使用该方法
使用静态方法的注意点
- 在静态方法中只能调用同类中的其他静态成员(静态成员变量和静态方法),不能访问其他的非静态的成员。
- 静态方法使用时不能其内部使用this和super。
上面两个注意点的原理:使用静态方法之前不会创建对象和实例,因此,依赖于对象存在的东西(非静态成员和this,super)都不能在静态方法中使用。
静态代码块
一个类中可以使用不包含在任何方法体中的静态代码块,每当类被载入的时候,静态代码块被执行,且只被执行一次。因此:
静态代码块常被进行类属性的初始化。
静态代码块的特点和注意点
- 无论实例化多少次这个类,类里面的静态代码块只执行一次。