【Java】final的关键字和final的四种用法

news2024/11/17 21:28:23

final定义

final翻译成中文的意思是 “最终” , 它是java当中的一个关键字,使用final修饰的对象不允许修改或替换其原始值或定义

image-20230129200436358

假如当final修饰一个类的时候,是不能被其他类继承的。

image-20230129200825561

final的四种用法

  1. 修饰类
  2. 修饰方法
  3. 修饰变量
  4. 修饰参数

1. 修饰类

final class Animal {

}

final修饰的类不允许被继承,表示此类设计的很完美,不需要被修改或者扩展

2. 修饰方法

public class Main {
    public final String print() {
        return "hello world";
    }
}

image-20230129201539721

final修饰的方法表示此方法提供的功能已经能够满足当前的需求,不需要进行扩展。并且不允许任何从此类继承的类来重写此方法。

3. 修饰变量

public class Main {
    private static final int N = 1000;
}

image-20230129201832733

final修饰变量的时候,表示变量的属性一旦被初始化便不可以被修改。

4. 修饰参数

public class Main {
    public void add(final int x, final int y) {
        
    }
}

image-20230129202035070

final修饰参数的时候,表示这些参数在整个方法内都不允许被修改。

final作用

使用final修饰类防止其它的类继承,如String类就是final修饰的,防止被其他类继承破坏了内部逻辑结构。

image-20230129202606696

总结

finaljava当中的一个很常见的关键字,被其修饰的不能被继承,被其修饰的方法不能被重写,背其修饰的变量不能被修改,被其修饰的参数在这个方法当中不能改变。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/184229.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Oracle 里的优化器

对于关系型数据库而言,优化器是最核心的部分。主要是因为优化器负责解析SQL。而大家都是通过SQL来访问存储在数据库中的数据。故此,优化器的好坏直接决定该关系型数据库的强弱。 同时,想要做好SQL优化,就必须深入了解优化器。这是…

源表的基础知识

浅谈“源表”的定义、功能及应用 源表与传统电源的区别 源表速度更快; 源表电流、电压分辨率更高; 源表是四象限,可以正电压(源表提供给外部)负电流(外部灌入源表)或者负电压、正电流。 传统电…

3.组件的基本用法

目录 1 创建组件 1.1 用函数创建组件 1.2 使用类创建组件 2 项目上组件的使用方式 3 事件处理 3.1 事件绑定 3.1.1 类组件绑定事件 3.1.2 函数组件绑定事件 3.2 事件对象 4 组件状态 4.1 初始化状态 4.2 获取状态 4.3 设置状态 4.3.1 箭头函数 4.…

win10下Elasticsearch安装配置完整教程

一、在安装Elasticsearch引擎之前,必须安装ES需要的软件环境,安装Java JDK和配置JAVA_HOME环境变量 二.安装ElasticSearch服务,下载和安装es包 https://www.elastic.co/downloads/past-releases Elasticsearch 8.6.1 | Elastic 安装成功之…

数据结构 第五章 数组和广义表

还是会想你:点击收听 1 基本知识点 1、数组可以看作是下标和值的偶对的集合(具有相同类型的数据元素) 注意:数组是同类型值的集合?**错误**2、数组的存储方式:以行为主序(一行存储完成之后继续存储下一行)、以列为主序(一列存储…

【C++修行之路】C++入门之深剖变量

🍿本文主题:C语法中的变量 🎈更多内容:C较C的改进 💕我的主页:蓝色学者 文章目录前言概念什么是变量变量名变量类型为什么要有不同数据类型各自数据类型的本质结语前言 大家好久不见,今天是我…

22.1.29打卡 2023牛客寒假算法基础集训营1 ACDHKLM

2023牛客寒假算法基础集训营1_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ 网上高质量题解太多了, 我这就作为打卡日报随便写写 A 四个变量 a b记录两队得分 c d记录两队最多还能获得的得分 简单模拟 /* ⣿⣿⣿⣿⣿⣿⡷⣯⢿⣿⣷⣻⢯⣿⡽⣻⢿⣿⣿⣿⣿⣿⣿⣿⣿…

Ruoyi-Cloud框架学习-【02 Redis安装搭建+Ruoyi下载+Nacos数据库配置】

Redis服务端与客户端的安装与搭建 参考该博文 https://joycez.blog.csdn.net/article/details/128776284?spm1001.2014.3001.5502 安装文件 链接:https://pan.baidu.com/s/1v19C9Dhh-ZkNQ8l1RVGQkA 提取码:6mim Ruoyi-Cloud下载以及数据库配置 1、前…

MySQL主从复制的数据同步延迟(二)

1、介绍 主从复制环境在单机应用的时候没有问题,但是在实际的生产环境中,会存在 复制延迟 的问题 查看从库同步状态 在从库中执行 show slave status\G : mysql> show slave status\G *************************** 1. row **************…

Matlab论文插图绘制模板第73期—带等高线的光影曲面图

在之前的文章中,分享了Matlab曲面图的绘制模板: 光影曲面图: 带等高线的曲面图: 进一步,再来看一下带等高线的光影曲面图的绘制模板。 先来看一下成品效果: 特别提示:Matlab论文插图绘制模板系…

make <board_name>_defconfigmake menuconfig

1.make <board_name>_defconfig (1)在uboot的顶层目录的Makefile中查找目标&#xff08;defconfig无法查到&#xff09;&#xff0c;检索config&#xff0c;找到目标config和目标%config 因为我们的目标为<board_name>_defconfig&#xff0c;所以需要看的是有通配…

发现了一个提取时间序列技术指标的神器

互联网上有一个最简单而又强大的技术库&#xff0c;叫做pandas_ta。这个python库为你提供了一个简化的API&#xff0c;让你从时间序列中提取技术分析指标。今天我将和大家一起学习这个库。记得点赞、收藏&#xff5e; 虽然你可能会将这些函数应用于股票价格&#xff0c;但你可…

python开发环境搭建实践

这里写自定义目录标题前言搭建过程anaconda下载与安装下载安装配置环境变量pycharm下载和安装下载安装激活总结前言 新年新气象&#xff0c;我也把电脑进行了重装系统。所以现在需要重新搭建各种开发环境&#xff0c;也不能说是各种&#xff0c;因为我只会python和Java。 先搭…

全国产交换机基本介绍(分类、性能指标、硬件构成及工作方式)

关于全国产交换机基础知识&#xff0c;您了解多少呢&#xff1f;来和海翎光电的小编一起学习一下吧&#xff01; 一、交换机的分类与性能指标 1.1 交换机的分类 按照网络构成方式来分的话&#xff0c;交换机分为三类&#xff1a;接入层交换机、汇聚层交换机和核心层交换机。按照…

93.transformer、多头注意力以及代码实现

1. Transformer架构 2. 多头注意力 3. 数学上来解释多头注意力 4. 有掩码的多头注意力 5. 基于位置的前馈网络 6. 层归一化 batch norm&#xff1a;比如说一行是一个样本&#xff0c;那么BN就是对一列进行归一化&#xff0c;就是对所有数据项的某一列特征进行归一化 layer nor…

【数据结构和算法】了解认识栈,并实现栈的相关函数

到现在我们了解并认识了线性表的概念&#xff0c;动态、静态顺序表的建立&#xff0c;以及两种链表的实现&#xff0c;接下来我们要认识一个新的内容&#xff0c;新的概念&#xff0c;栈&#xff0c;是基于顺序表或者链表的一种新型数据结构。 目录 一、栈是什么&#xff1f; …

RabbitMQ入门中篇

本篇博文目录一.Spring整合RabbitMQ1.导入依赖2.生产者3.消费者4.测试二.SpringBoot整合RabbitMQ1.导入依赖2.生产者3.消费者4.测试三.代码下载一.Spring整合RabbitMQ 在spring项目中使用RabbitMQ的Exchange模式的Topics&#xff0c;项目分为消费者spring项目和生产者spring项目…

Centos7安装kvm服务器

Centos7安装kvm服务器什么是kvm检查硬件是否支持kvm虚拟化启用嵌套虚拟化(可选)查看是否启用嵌套虚拟化嵌套虚拟化立即生效(临时)重新加载模块并验证虚拟机硬件直通虚拟机内查看嵌套虚拟化是否成功安装kvm服务器安装kvm的所有包(不推荐)启动libvirt服务查看是否正确设置了虚拟化…

Linux操作系统之线程安全

一、引入线程安全关于strtok函数不能在多线程中使用&#xff0c;为什么&#xff1f;运行结果原因如下&#xff1a;在strtok内部会有一个全局变量静态指针&#xff08;static char* ptr&#xff09;&#xff0c;一开始指针指向主线程的a&#xff0c;等到后面子线程开始分割时&am…

18 Java反射reflect(类加载+获取类对象+通用操作+设计模式+枚举+注解)

Java反射18 反射reflect18.1 类的加载18.2 Class对象18.3 获取类对象的3种方法18.4 反射通用操作18.4.1 常见方法18.4.2 通用操作18.5 设计模式18.5.1 概念18.5.2 好处18.5.3 工厂设计模式18.5.4 单例模式18.6 枚举18.7 注解18.7.1 概念18.7.2 定义注解18.7.3 注解属性类型18.7…