返回
Java 之 Static 静态关键字那些不得不说的秘密
Android
2023-10-04 08:00:47
引言
在Java中,静态 Static使用十分常见。它可以修饰类中的变量、方法和代码块,使其具有特殊的属性和行为。本文将全面 & 详细解析静态Static关键字,希望你们会喜欢。
一、静态变量
静态变量是属于类的变量,而非属于对象的变量。这意味着静态变量的值在整个类中都是共享的,所有对象都可以访问和修改静态变量的值。
1. 静态变量的声明
静态变量的声明与普通变量的声明非常相似,只是在变量名前面加上static关键字即可。例如:
public class MyClass {
private static int count = 0;
public static void main(String[] args) {
// 访问和修改静态变量
count++;
System.out.println("count = " + count);
}
}
2. 静态变量的特点
静态变量具有以下特点:
- 静态变量属于类,而非属于对象。
- 静态变量的值在整个类中都是共享的,所有对象都可以访问和修改静态变量的值。
- 静态变量可以在类加载时初始化,也可以在运行时初始化。
- 静态变量不能被子类继承。
二、静态方法
静态方法是属于类的,而不是属于对象的。这意味着静态方法可以被所有对象访问和调用,而无需创建对象。
1. 静态方法的声明
静态方法的声明与普通方法的声明非常相似,只是在方法名前面加上static关键字即可。例如:
public class MyClass {
private static void printCount() {
System.out.println("count = " + count);
}
public static void main(String[] args) {
// 调用静态方法
printCount();
}
}
2. 静态方法的特点
静态方法具有以下特点:
- 静态方法属于类,而非属于对象。
- 静态方法可以被所有对象访问和调用,而无需创建对象。
- 静态方法可以访问和修改静态变量,但不能访问和修改非静态变量。
- 静态方法不能被子类覆盖。
三、静态代码块
静态代码块是属于类的,而不是属于对象的。静态代码块在类加载时执行,并且只执行一次。
1. 静态代码块的声明
静态代码块的声明与普通代码块的声明非常相似,只是在代码块前加上static关键字即可。例如:
public class MyClass {
static {
System.out.println("静态代码块执行了");
}
public static void main(String[] args) {
// 静态代码块在类加载时执行
}
}
2. 静态代码块的特点
静态代码块具有以下特点:
- 静态代码块属于类,而非属于对象。
- 静态代码块在类加载时执行,并且只执行一次。
- 静态代码块可以访问和修改静态变量,但不能访问和修改非静态变量。
- 静态代码块不能被子类覆盖。
四、总结
通过本文的介绍,相信大家对Java语言中的静态Static关键字有了更深入的了解。静态关键字在Java中非常有用,它可以帮助我们编写更健壮、更易维护的代码。