java static所有的用法
时间: 2024-10-17 22:07:57 浏览: 21
在Java中,`static`关键字有几种主要用途:
1. 类变量(Static Variables):静态变量属于类而不是某个实例。当你创建类的一个新实例时,并不会为这个变量分配新的内存空间,所有实例共享同一份静态变量副本。例如:
```java
public class MyClass {
static int count = 0;
//...
}
```
你可以通过类名直接访问静态变量:`MyClass.count++`.
2. 静态方法(Static Methods):静态方法也是类的一部分,不需要创建类的实例就可以直接调用。它们通常用于工具方法或提供与类本身相关的操作:
```java
public class MyClass {
public static void printMessage(String message) {
System.out.println(message);
}
//...
}
MyClass.printMessage("Hello World"); //无需创建对象
```
3. 静态初始化块(Static Initializer Blocks):这些块只执行一次,当类第一次加载时:
```java
public class MyClass {
static {
System.out.println("Class is being loaded");
}
}
```
4. 静态内部类(Inner Static Classes):这种内部类可以访问外部类的所有静态成员,但不能访问非静态成员,也不需要外部类的对象实例即可访问。
5. 静态工厂方法(Static Factory Methods):用于创建对象而无需显式地声明类的实例:
```java
public class MyClass {
public static MyClass create() {
return new MyClass();
}
}
MyClass obj = MyClass.create(); //无需new关键字
```
阅读全文