在Java中,static关键字用于定义静态变量和静态方法。静态变量是类级别的变量,在内存中只有一个副本,而不是每个实例都有自己的副本。静态方法是不需要实例化类就可以调用的方法。
静态变量可以通过类名直接访问,而不需要创建类的实例。静态方法也可以直接通过类名调用,而不需要创建对象。
当类被加载到内存中时,静态变量和静态方法会被初始化,并且在整个程序执行期间都存在。静态变量和静态方法可以被所有实例共享,因此它们通常用于定义全局变量和全局方法。
需要注意的是,静态方法只能访问静态变量和其他静态方法,不能直接访问非静态变量和方法。而非静态方法可以访问静态变量和方法。