Java中的static关键字有以下几个作用:
1. 静态变量: 使用static关键字定义的变量为静态变量,它属于类而不是对象,所有对象共享该变量的值。静态变量在内存中只有一份拷贝,且在类加载时就会初始化,可以通过类名直接访问。
2. 静态方法: 使用static关键字定义的方法为静态方法,它属于类而不是对象,可以通过类名直接调用。静态方法无法访问非静态成员变量或调用非静态方法,只能调用其他静态方法。
3. 静态代码块: 使用static关键字定义的代码块为静态代码块,它在类加载时执行且只执行一次。静态代码块用于初始化静态变量或执行一些静态操作。
4. 静态内部类: 使用static关键字定义的内部类为静态内部类,它与外部类之间没有直接的联系,可以直接通过类名访问。静态内部类可以拥有静态成员和非静态成员。
5. 静态导入: 使用static关键字可以导入类的静态成员,可以直接使用静态成员而无需使用类名限定符。
总的来说,static关键字主要用于定义静态成员,静态成员与类相关联而不是与对象相关联,可以通过类名直接访问,无需创建对象。