【前端学java】java中final修饰符(5)

往期回顾:

什么是Final

在Java中,final 是一个关键字,用于表示不可变 的特性,类似于Js中的const声明 。当final被应用到类、方法或变量时,它具有以下不同的含义。

Final类

如果一个类被声明为final ,则该类不能被其他类所继承。这样的类称为"final类"。通常将类声明为final是为了防止其他类继承它,或者是为了确保类的实现不会被修改和继承。

示例代码:

java 复制代码
final class MyClass {
    // 类的内容
}

// 下面的代码会引发编译错误,因为无法继承final类
class MySubclass extends MyClass {
    // 编译错误
}

Final方法

如果一个方法被声明为final ,则子类不能覆盖(重写)这个方法。这样的方法称为"final方法"。通常将方法声明为final是为了确保方法的逻辑不会被修改,以及避免在子类中意外地改变其行为。

示例代码:

java 复制代码
class Parent {
    // final方法
    public final void myMethod() {
        // 方法内容
    }
}

class Child extends Parent {
    // 编译错误:无法覆盖final方法
    public void myMethod() {
        // 子类中不能重写final方法
    }
}

Final变量

在Java中,final 关键字还可以应用于变量,表示该变量的值只能被赋值一次,之后就不可再修改。一旦被赋值后,final变量将成为常量,并且必须在声明时或构造函数中初始化。

示例代码:

java 复制代码
class MyClass {
    // final变量
    public final int myConstant = 10;

    // final变量的初始化可以在构造函数中完成
    public final double myDouble;

    public MyClass(double value) {
        this.myDouble = value;
    }

    // 下面的代码会引发编译错误,因为final变量的值不能再修改
    public void updateConstant() {
        // 编译错误:final变量的值不可更改
        myConstant = 20;
    }
}

总结:在Java中,final 关键字用于表示不可变的类、方法或变量。final 类不能被继承,final 方法不能被子类重写,final 变量的值只能被赋值一次且不可更改。通过使用final,可以增加代码的安全性,防止意外的修改和继承,并且优化编译器对常量的处理。

下一篇学习

相关推荐
JH30734 小时前
SpringBoot 优雅处理金额格式化:拦截器+自定义注解方案
java·spring boot·spring
Coder_Boy_5 小时前
技术让开发更轻松的底层矛盾
java·大数据·数据库·人工智能·深度学习
invicinble5 小时前
对tomcat的提供的功能与底层拓扑结构与实现机制的理解
java·tomcat
较真的菜鸟5 小时前
使用ASM和agent监控属性变化
java
黎雁·泠崖6 小时前
【魔法森林冒险】5/14 Allen类(三):任务进度与状态管理
java·开发语言
qq_12498707537 小时前
基于SSM的动物保护系统的设计与实现(源码+论文+部署+安装)
java·数据库·spring boot·毕业设计·ssm·计算机毕业设计
Coder_Boy_7 小时前
基于SpringAI的在线考试系统-考试系统开发流程案例
java·数据库·人工智能·spring boot·后端
Mr_sun.7 小时前
Day06——权限认证-项目集成
java
瑶山7 小时前
Spring Cloud微服务搭建四、集成RocketMQ消息队列
java·spring cloud·微服务·rocketmq·dashboard
abluckyboy7 小时前
Java 实现求 n 的 n^n 次方的最后一位数字
java·python·算法