static和final修饰符

static和 final是两个常用的修饰符,它们可以用来修饰类中的成员变量和方法。

 static 修饰符

static关键字用于表示类级别的成员,而不是实例级别的成员。这意味着 static成员属于类本身,而不是类的任何特定对象。以下是static 的一些关键特性:

1. 类变量:`static` 修饰的变量称为类变量或静态变量。它们在类加载时被创建,并且在整个应用程序的生命周期内只存在一个副本,无论创建多少个类的实例。
2.类方法:`static` 修饰的方法称为静态方法。它们可以在没有创建类的实例的情况下被调用,通常用于实用工具类。
3. 静态块:`static` 可以用于代码块中,称为静态初始化块。它在类加载时执行一次,常用于初始化类变量。
4.静态内部类:`static` 修饰的内部类不依赖于外部类的实例,可以独立于外部类被创建。
5.静态导入:在Java 5及更高版本中,可以使用 `static import` 导入静态方法和变量,使得调用时不需要类名。

final 修饰符

`final` 关键字用于表示不可变的对象或方法。以下是 `final` 的一些关键特性:

1. 最终变量:被声明为 `final` 的变量一旦被赋值后,其值就不能被改变。对于基本数据类型,这意味着值不能改变;对于对象,这意味着引用不能改变,但对象内部的状态可以改变。
2.最终方法:`final` 方法不能被子类覆盖。这确保了方法的行为不会被改变,常用于确保类的行为一致性。
3. 最终类:`final` 类不能被继承。这确保了类的不可变性,常用于设计不需要子类的类。
4. 常量:通常将 `public`、`static` 和 `final` 一起使用来定义常量。这样的常量称为公共常量,可以在任何地方被访问和使用。
5. 匿名内部类:当创建匿名内部类时,可以声明其实例变量为 `final`,以便在类内部使用。代码示例

public class MyClass {
    // 类变量
    public static int staticVar = 10;

    // 静态方法
    public static void staticMethod() {
        System.out.println("This is a static method.");
    }

    // 最终变量
    public final int finalVar = 5;

    // 最终方法
    public final void finalMethod() {
        System.out.println("This method cannot be overridden.");
    }
}

// 使用静态方法和变量
MyClass.staticMethod();
int value = MyClass.staticVar;

// 创建类的实例
MyClass obj = new MyClass();
// 访问最终变量和方法
int val = obj.finalVar;
obj.finalMethod();

在这个示例中,`staticVar` 和 `staticMethod` 是类的静态成员,可以在没有创建类的实例的情况下被访问。`finalVar` 是一个最终变量,它的值在初始化后不能被改变。`finalMethod` 是一个最终方法,它不能被子类覆盖。

这两个修饰符在Java编程中非常重要,它们提供了控制类成员的访问和行为的强大机制。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值