Java教程【01.04】Java中的static和final关键字

Java中的static和final关键字

在Java中,static和final是两个常用的关键字,用于定义类、方法和变量的特性。在本教程中,我们将学习如何使用static和final关键字以及它们的用途。

static关键字

static关键字用于创建静态成员,这意味着它们属于类本身而不是类的实例。通过使用static关键字,我们可以在不创建类的实例的情况下访问和使用这些成员。

1. 静态变量

静态变量是属于类的变量,而不是类的实例。它们在类加载时创建,并在整个程序执行期间保持一致。

public class MyClass {
    public static int count;
}

在上面的示例中,我们创建了一个静态变量count,它属于MyClass类。

2. 静态方法

静态方法是属于类的方法,而不是类的实例。它们可以直接通过类名调用,无需创建类的实例。

public class MyClass {
    public static void printMessage() {
        System.out.println("Hello, World!");
    }
}

在上面的示例中,我们创建了一个静态方法printMessage(),它打印输出一条消息。

3. 静态块

静态块是一段在类加载时执行的代码块,用于初始化静态变量或执行其他需要在类加载时完成的操作。

public class MyClass {
    public static int count;
    
    static {
        count = 10;
        System.out.println("Static block executed");
    }
}

在上面的示例中,我们使用静态块初始化静态变量count,并在静态块中打印输出一条消息。

4. 静态类

静态类是嵌套在另一个类中的类,并使用static关键字修饰。静态类只能访问外部类的静态成员。

public class OuterClass {
    public static int count;
    
    public static class InnerStaticClass {
        public void displayCount() {
            System.out.println("Count: " + count);
        }
    }
}

在上面的示例中,我们创建了一个静态类InnerStaticClass,它可以访问外部类OuterClass的静态变量count

final关键字

final关键字用于声明最终变量、最终方法和最终类。一旦使用final关键字声明,它们的值或特性将无法更改。

1. 最终变量

最终变量是只能赋值一次的变量,赋值后其值无法更改。

public class MyClass {
    public final int MAX_VALUE = 100;
}

在上面的示例中,我们创建了一个最终变量`MAX_VALUE

`,并将其值设置为100。

2. 最终方法

最终方法是无法被子类重写的方法。当我们希望某个方法的实现不被子类修改时,可以使用final关键字修饰该方法。

public class ParentClass {
    public final void displayMessage() {
        System.out.println("Hello, World!");
    }
}

public class ChildClass extends ParentClass {
    // 编译错误,无法重写final方法
    // public void displayMessage() { }
}

在上面的示例中,我们创建了一个最终方法displayMessage(),并尝试在子类中重写该方法,但由于方法被声明为final,所以编译会报错。

3. 最终类

最终类是无法被继承的类。当我们不希望其他类继承某个类时,可以使用final关键字修饰该类。

public final class MyClass {
    // 类定义
}

在上面的示例中,我们创建了一个最终类MyClass,它无法被其他类继承。

总结

在本教程中,我们学习了Java中static和final关键字的用法和特性。通过使用static关键字,我们可以创建静态变量、静态方法和静态块,以及嵌套的静态类。通过使用final关键字,我们可以创建最终变量、最终方法和最终类,用于限制变量的更改、方法的重写和类的继承。

这些关键字在Java编程中非常常用,并且在实际项目中具有广泛的应用。希望本教程对你有所帮助!

本文由mdnice多平台发布

你可能感兴趣的:(程序员)