Java关键字——final

【JAVA】final关键字 在默认情况下,所有的成员变量和成员方法都可以被子类重写。如果父类的成员不希望被子类重写,可以在声明父类成员时使用final关键字修饰。final有“最终”“不可更改”的含义。在Java中,可以使用final关键字修饰类、属性、方法。 阅读详情

1、final关键字的含义

final通常意味着不可变,可以用来修饰基本类型数据,对象的引用,方法和类。

  • 修饰基本类似数据时,数值不可改变
  • 修饰对象引用时,该引用不可变为指向其他对象
  • 修饰方法时,说明该方法不能被覆盖
  • 修饰类时,该类不能被继承

 

2、final修饰的基本数据值不可改变

public void finalData(){
        final int a = 10;
        // a = 20; //会报错:无法为最终变量a分配值
        System.out.println("a="+a);
    }

3、final修饰的对象引用不可指向其他对象

public void finalRef(){
        final Student s = new Student("张三","男");
        // 会报错,无法为最终变量s分配值
//        s = new Student("李四","女");
        System.out.println(s.toString());
    }

4、final修饰的方法不可被覆盖

public final void finalMethod(){
        System.out.println("这是一个final方法,不可被覆盖");
    }


//子类尝试覆盖
 @Override
    public void finalMethod(){
        // 方法会报错:finalMethod() cannot override finalMethod;overridden method is final
        System.out.println("尝试覆盖final修饰的方法");
    }

但是可以被重载

public final void finalMethod(){
        System.out.println("这是一个final方法,不可被覆盖");
    }

    public final void finalMethod(String s){
        System.out.println("重载了final方法");
    }

5.final修饰的类不可以有子类

public final class FinalClass{}

//下面的类定义将出现编译错误
class Sub extends FinalClass{}

 

 

总结以上三点:变量不能被重新赋值,引用不能重新指向其他对象,方法不能被重写,类不能被继承。

以上代码均托管在GitHub上面(点击这里直达)
 

 

Bybit面经 这段总结描述了求职者在Bybit面试过程中的经历和相关问题,包括面试内容、求职者向面试官提问的问题以及关于Bybit的信息 阅读详情

相关推荐

EDA的未来:当AI与Cadence Virtuoso相遇

本文探讨了AI技术与Cadence Virtuoso在EDA领域的融合,展示了如何通过生成式AI提升芯片设计效率。文章详细分析了Virtuoso设计环境的智能化演进、AI驱动的设计辅助功能实现路径,以及SKILL语言的进化方向,为工程师提供了未来EDA工具的发展趋势和实用案例。

weixin_28312391的博客 650

final作用java,深入解析Java编程中final关键字的作用

final class当一个类被定义成final class,表示该类的不能被其他类继承,即不能用在extends之后。否则在编译期间就会得到错误。package com.iderzheng.finalkeyword;public final class FinalClass {}// Error: cannot inherit from finalclass PackageClass exten...

weixin_34364310的博客 669

从零完成 STM32 + ESP-01S + 云服务器 TCP 通信测试

STM32 通过 USART3 控制 ESP-01S 接入手机 2.4 GHz 热点,随后连接公网云服务器 8.152.204.86:9002。云端在同一 TCP 连接中连续收到 seq=1~6 的测试报文,5 个发送间隔平均约 5.4 秒,说明本次 TCP 上行链路已经打通。

weixin_51387720的博客 312

深入研究Java中的final关键字

final 修饰符 final关键字用于修饰类,变量和方法,用于表示它修饰的类,方法和变量不可被改变。final既可以修饰成员变量也可以修饰局部变量,形参。下面我们主要探讨一下final修饰不同成分的情况。 一. final修饰成员变量 成员变量是随类初始化或者对象的初始化而初始化的。当类初始化的时候,系统会自动为类变量分配内存,并分配默认值;当创建对象时,系统为该对象的实例变量分配内存,并分配默认值。当执行静态代码块的时候会给类变量进行赋值;当执行普通代码块或者构造器的时候会给实例变量进行赋值,。因此.

m0_46189068的博客 247

XCAT集群管理实战:从裸机到节点批量部署

在数据中心与HPC集群运维中,裸机配置与操作系统批量部署是关键环节。PXE引导、IPMI带外管理等基础技术为自动化装机提供了底层支持,而集群管理工具则将这些能力整合为可扩展的运维体系。XCAT作为一款开源集群管理工具,通过数据库驱动的方式统一管理DHCP、TFTP、HTTP等服务,实现从裸机发现、系统安装到电源控制的全流程自动化。本文从XCAT的核心设计出发,详细介绍了环境准备、安装配置、节点定义、镜像分发及常见问题排查,帮助运维人员快速构建高效的集群部署流程,降低规模化管理的复杂度。

weixin_30899023的博客 241

HexView 脚本自动化工具:从刷写文件处理到批量转换实战

本文详细介绍了如何利用HexView脚本自动化工具高效处理嵌入式刷写文件。通过实战演示,文章展示了如何使用bat脚本实现S19、HEX等格式文件的剪切、填充、合并与批量转换,构建自动化流水线,从而显著提升汽车电子等领域的开发与生产效率。

weixin_29237635的博客 356

final method java_Java Final关键字示例

1. FINAL关键字作为变量修饰符每个上下文都有其自己的不同目的。final,当与变量一起使用时,专门用于限制用户在代码中的其他任何地方更改值。final变量一旦初始化,其值就无法更改。如果final变量只是声明但未初始化,则允许在整个代码中为final变量分配一个值。final变量值的任何多次更改将导致编译错误。例如,如果尝试编译,下面的代码将给出编译时错误。FinalVariable...

weixin_42127369的博客 674

基于MCP协议的AssistAI:深度集成Eclipse的AI编程助手实战指南

在AI辅助编程领域,大型语言模型(LLM)与开发工具的深度集成是提升开发效率的关键。其核心原理在于通过标准化的协议(如MCP,Model Context Protocol),将IDE的功能封装为AI可调用的工具集,从而实现环境感知与操作同步。这项技术的价值在于打破了传统AI编程工具与开发者工作流的割裂,使AI能够以符合工程规范的方式直接操作项目,如进行代码重构、运行测试和交互式调试。其典型应用场景包括复杂代码导航、自动化测试生成与精准的增量编译。本文以Eclipse插件AssistAI为例,详细解析了如何通

weixin_42531579的博客 558

Java中的final关键字

1、修饰类 表示这个类不能被继承,没有子类 final class Eunuch{//太监类 } class Son extends Eunuch{//错误 } 2、修饰方法 表示这个方法不能被子类重写,但是子类仍能访问 class Father{ public final void method(){ System.out.println("father"); } } class Son extends Father{ public void method(){//错误

zpf1813763637的博客 272

HMC7044调试指南与FPGA开发

最后,我们介绍了在FPGA开发中使用HMC7044的几个常见应用场景,包括时钟分配、时钟同步、高精度时钟生成和时钟域交叉。根据您的应用需求,您可以选择不同的时钟分配方案,例如使用PLL生成特定频率的时钟信号,或者通过分频器生成较低频率的时钟信号。HMC7044可以提供精确的时钟同步功能,确保各个FPGA板之间的时钟信号保持一致,从而实现可靠的数据传输和协同操作。HMC7044可以实现时钟域之间的交叉,通过生成和分配不同频率的时钟信号,使得不同时钟域的模块能够协同工作。FPGA开发中的HMC7044应用。

CqpFsharp的博客 3619

计算机视觉学习路线图:从入门到专家

计算机视觉学习路线图:从入门到专家​ ,人工智能,计算机视觉,大模型,AI,计算机视觉学习路线图从七方面展开。先强调数学基础,含线性代数、概率统计和微积分;接着介绍 Python、OpenCV 等编程语言与工具;涵盖边缘检测、特征提取等经典算法;阐述深度学习中 CNN 结构、经典模型及实现;涉及目标检测、图像分割等高级专题;包含图像分类、目标检测和人脸识别等项目实战;最后提及科研进阶的论文阅读、项目参与和论文发表,助学习者从入门到专家。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 7万+

final和abstract

【Java】浅析final,abstract修饰符 博客分类: Java finalabstract 有时候,你不希望别人坐享其成,通过继承你写的类得到他自己所需要的类,怎么办呢?这个时候你就可以在你的class之前加上final这个修饰府,例如public final class test{……},加上了这个修饰符之后,别人在继承这个类的话就会编译出错,提示他这个类不能

知识在于积累 4208

Transformer大模型实战 文本摘要任务

Transformer, 文本摘要, 自然语言处理, 预训练模型, 序列到序列, BERT, BART, T5 1. 背景介绍 文本摘要任务是自然语言处理 (NLP) 领域的重要研究方向之一,旨在从长篇文本中提取关键信息,生成简洁、准确的摘要。随着深度学习技术的快速发展,基于 Tra

AI大模型应用之禅 1340

java中final关键字

final final是java语言中的一个关键字 final表示最终的,不可变的。 final可以修饰变量以及方法,还有类等。 final修饰的类(无法被继承) final class A{ //A 是没有子孙的 } class B extends A{ //错误的, 无法从最终类A进行继承 //B类继承A类 相当于对A类功能进行扩展 //如果不希望别人对A类进行扩展,可以给A类加final关键字,如String类 } final修饰的方法(无法被覆盖,重

MTCya的博客 3万+

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

java final 关键字

java的final关键字详解

tuoniaoxs的博客 3万+

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Java final关键字

总之,Java 中的final关键字是一个功能强大的工具,具有优点和缺点。它在不可变性、定义算法结构、提供代码清晰度、确保安全性和稳定性、线程安全、以及保护遗留代码等方面起着重要作用。尽管存在一些缺点,如测试和调试的帮助较少、动态性较低、灵活性有限,这些问题可能会使程序的执行更加复杂。然而,如果我们更多地关注其积极的一面而非缺点,我们可以看到final关键字在限制继承、保持值的恒定性以及防止更改和修改方面的重要性。

疯一样的码农 1296

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Java-final关键字详解

final使用final关键字定义常量,使得这些值在程序运行期间保持不变。

边走、边悟、迟早变好 1418

有关Java中关键字final的理解

一、final数据在java编程语言中,有时候需要告知编译器一段数据是不变的编译期常量。对于这种情况,编译器可以将此常量值带入需要用到它的计算式子当中,这种在编译时执行计算式的方法减轻了运行时的开销。通常,这类常量数据都是基本类型的数据,并赋予关键字final,同时在对此常量定义时需要进行赋值。值得注意的是:对于基本类型,使用final关键字将使数值恒定不变;而对于对象引用,final则是

scuhank的专栏 1万+

java关键字之final

java关键字之final 学习Java的同学注意了!!! 学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入Java学习交流群,群号码:543120397 我们一起学Java!

u014344668的专栏 357

Java基础之final关键字详解

       final在Java中可以声明成员变量、方法、类以及本地变量。一旦你将引用声明作final,你将不能改变这个引用了,如果你试图将变量再次初始化的话,编译器会报编译错误。        final的含义在不同的场景下有细微的差别,但总体来说,它指的

MyKelly_2013 1683

java中static关键字和final关键字

原文地址:http://www.cnblogs.com/dolphin0520/p/3736238.html 谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字。另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法。下面是本文的目录大纲:   一.final关键字的基本用法   二.深入理解f

众智成程的专栏 1804

java中final double_举例讲解Java中final关键字的用法

1. final variablefinal variable 就是一个常量,一旦被初始化就不可以被改变。class Test1 {final double PI = 3.14; //常量的名称最好大写public Test1(){PI = 3.14;}void test(){System.out.println("PI is: " + PI);}public static void main(S...

weixin_42566121的博客 2513

Java之 final关键字

参考: http://baijiahao.baidu.com/s?id=1601084106055683243&wfr=spider&for=pc Java编程思想 final关键字的作用 在Java中,final关键字可以用来修饰成员函数,成员变量和类.。下面分别介绍。 1. final修饰数据 1.1 修饰类的成员变量 **当final修饰成员变量时,此时表示常量,说明该属性是只读的。**总得来说,final既可以修饰基本数据类型,也可以修饰对象引用。 1)**必须被显式初始化值,而且只

Chaolei3的博客 362

Java Final关键字示例

Java中的Final关键字是一个修饰符,用于限制用户执行不需要的代码或防止代码或值被更改。 可以在3个上下文中使用此关键字。 他们是: 最终关键字作为变量修饰符 最终关键字作为方法修饰符 Final关键字作为类修饰符 每个上下文都有其自身的意义和暗示的限制。 它们将在下面详细讨论。 1. FINAL关键字作为变量修饰符 每个上下文都有其自己的不同目的。 final ...

一名可爱的技术搬运工 324
上一篇: Java基础——自学java之路
下一篇: java EE介绍
冷静BB
博客等级 码龄12年 298粉丝 112原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值