final在Java中的作用是什么?

本文详细解释了Java中final关键字如何修饰类使其不可继承,方法使其不可重写,以及变量使之成为常量。通过示例展示了final在代码中的应用和编译时的限制。

在Java中,final关键字可以用于修饰类、方法和变量。它的作用取决于它所修饰的内容。

       1.修饰类:表示该类不能被继承,即为最终类。

  2.修饰方法:表示该方法不能被子类重写,即为最终方法。

  3.修饰变量:表示该变量为常量,只能被赋值一次。

  以下是一些final关键字在代码中的演示:

      1.final修饰类:

final class MyClass {
    // ...
}

  上述代码中的MyClass类被声明为最终类,因此它不能被其他类所继承。

  2.final修饰方法:

class MyClass {
    final void myMethod() {
        // ...
    }
}

class MySubclass extends MyClass {
    // 编译错误,不能重写 final 方法
    void myMethod() {
        // ...
    }
}

  上述代码中的myMethod()方法被声明为最终方法,因此它不能被MySubclass类所重写。

1679881934203_java面试常见问题.jpg

  3.final修饰变量:

class MyClass {
    final int MY_CONSTANT = 100;
    void myMethod() {
        // 编译错误,不能再次赋值 MY_CONSTANT
        MY_CONSTANT = 200;
    }
}

  上述代码中的MY_CONSTANT变量被声明为常量,因此它只能被赋值一次。在myMethod()方法中,尝试再次给 MY_CONSTANT赋值会导致编译错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值