javastatic修饰符的作用是什么
时间: 2023-09-24 19:10:58 浏览: 100
static修饰属性的特点-Java核心逻辑第8章
Java中的static修饰符可以用来修饰变量、方法和代码块,主要有以下作用:
1. 静态变量
使用static修饰的变量称为静态变量或类变量,它属于整个类,而不是某个对象,可以通过类名直接访问。静态变量只会被初始化一次,在类加载时会被初始化,而且所有的实例共享同一个静态变量。在Java中,常量通常也是使用static修饰的。
示例代码:
```
class MyClass {
static int count = 0; // 静态变量,属于整个类
public MyClass() {
count++; // 每创建一个实例,count自增
}
}
public class Test {
public static void main(String[] args) {
MyClass obj1 = new MyClass();
MyClass obj2 = new MyClass();
System.out.println(MyClass.count); // 2,输出实例个数
}
}
```
2. 静态方法
使用static修饰的方法称为静态方法或类方法,它属于整个类,可以通过类名直接调用。静态方法不能访问非静态成员变量和成员方法,它只能访问静态成员变量和其他静态方法。
示例代码:
```
class MyClass {
static int count = 0; // 静态变量,属于整个类
public static void increaseCount() { // 静态方法
count++; // 只能访问静态成员变量
}
public void printCount() { // 非静态方法
System.out.println(count); // 可以访问静态和非静态成员变量
}
}
public class Test {
public static void main(String[] args) {
MyClass.increaseCount(); // 直接调用静态方法
MyClass obj = new MyClass();
obj.printCount(); // 输出1,因为count是静态变量
}
}
```
3. 静态代码块
使用static修饰的代码块称为静态代码块,它在类被加载时执行,且只会执行一次。静态代码块常用于初始化静态变量或其他静态资源。
示例代码:
```
class MyClass {
static int count; // 静态变量
static { // 静态代码块
count = 10; // 初始化静态变量
}
}
public class Test {
public static void main(String[] args) {
System.out.println(MyClass.count); // 输出10,因为静态代码块已经初始化了count
}
}
```
总之,static修饰符的作用是使得成员变量、方法和代码块属于整个类,而不是某个对象,可以通过类名直接访问,也方便在静态方法和静态代码块中进行初始化和访问。
阅读全文