Java中的static关键字有以下几个作用:
1. 静态变量:使用static关键字声明的变量是静态变量,也称为类变量。静态变量在类加载时被初始化,且只有一份拷贝,被所有实例共享。可以通过类名直接访问静态变量,无需创建对象。
2. 静态方法:使用static关键字声明的方法是静态方法,也称为类方法。静态方法可以直接通过类名调用,无需创建对象。静态方法只能访问静态变量和调用其他静态方法,不能访问非静态成员。
3. 静态代码块:使用static关键字声明的代码块是静态代码块。静态代码块在类加载时执行,用于初始化静态变量或执行一些只需执行一次的操作。
4. 静态内部类:使用static关键字声明的内部类是静态内部类。静态内部类与外部类的实例无关,可以直接通过外部类名访问。
5. 静态导入:使用static关键字可以导入类的静态成员,使其可以直接使用,无需通过类名限定。
静态成员具有以下特点:
- 静态成员在内存中只有一份拷贝,被所有实例共享。
- 静态成员可以通过类名直接访问,无需创建对象。
- 静态成员在类加载时被初始化,且在整个程序运行期间保持不变。
需要注意的是,静态成员不能访问非静态成员,因为非静态成员是与实例相关的,而静态成员是与类相关的。静态成员的生命周期与类的生命周期相同,即在类被卸载时才会被销毁。