一、static关键字用于创建静态成员,可以用于变量、方法、代码块和内部类。
二、
静态变量:静态变量属于类而不是类的实例。
class MyClass {
static int count = 0; // 静态变量
void increment() {
count++;
}
}
三、静态方法:静态方法属于类而不是类的实例,可以直接通过类名调用,无需创建类的实例。静态方法不能直接访问类的非静态成员,因为它们在类加载时就已经存在,而非静态成员是在实例化对象时才被初始化。
class MyClass {
static void myStaticMethod() { // 静态方法
System.out.println("This is a static method.");
}
}
四、静态内部类:静态内部类是声明为静态的内部类,它可以直接通过外部类名访问,而无需创建外部类的实例。
class OuterClass {
static class StaticInnerClass { // 静态内部类
void display() {
System.out.println("This is a static inner class.");
}
}
}
五、静态代码块:静态代码块用于初始化静态变量或执行一些静态操作。它们在类加载时执行,只会执行一次。
class MyClass {
static {
// 静态代码块
System.out.println("Static block is executed.");
}
}