返回

Java 之 Static 静态关键字那些不得不说的秘密

Android

引言

在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中非常有用,它可以帮助我们编写更健壮、更易维护的代码。