java中final关键字

芒果YOLOv8改进165:损失函数angleLoss:即插即用 | 独家首发原创新颖|公开数据集DOTA高效无损涨点0.5% | 旋转检测 YOLOv8改进:旋转检测Loss损失函数angleLoss:即插即用 | 独家首发原创新颖|公开数据集DOTA高效无损涨点0.5% 阅读详情

final

  1. final是java语言中的一个关键字

  2. final表示最终的,不可变的。

  3. final可以修饰变量以及方法,还有类等。

final修饰的类(无法被继承)

final class A{
    //A 是没有子孙的
}
class B extends A{
    //错误的, 无法从最终类A进行继承
    //B类继承A类 相当于对A类功能进行扩展
    //如果不希望别人对A类进行扩展,可以给A类加final关键字,如String类
}

final修饰的方法(无法被覆盖,重写)

class C{
    public final void doSome(){
       System.out.println("C's doSome...")
    } 
}
class D extends C{
 //错误,无法覆盖
 /*   public  void doSome(){
     System.out.println("D's doSome...")
    } */
}

final修饰的局部变量(只能赋一次值)

public class FinalTest01{
    public static void main(String[]args){
        //局部变量
        int i=100;
        //重新赋值, 没问题
        i=200;
        
        // 再定义一个局部变量 
        final int k=100;
        //重新赋值
        //错误: 无法为最终变量k分配值
       // k=300;
    }
}

final修饰的实例变量(必须手动赋值)

/*
一般情况下
实例变量如果还没有赋值的话,系统会赋默认值

final 修饰实例变量:
系统不负责赋默认值,要求程序员必须手动赋值,只能赋一次,
这个手动赋值,在变量后面赋值可以,在构造方法中赋值也可以



*/
public class FinalTest02(){
    public static void main(String[]args){
        
    }
}


class User{
    //实例变量
    
    //错误: 变量age未在默认构造器中初始化
    //final int age;
    final int age=10;
    
    //在构造方法中赋值 weight只赋一次值
    final double weight;
    //构造方法
    public User(){   
        this.weight=80;
        //系统赋默认值在这个时候,final修饰后,系统不会赋值
        //this.weight=0;
     
    }
    
    
}

常量

/*
上一个例子的结论
   final修饰的实例变量。必须手动赋值
   final修饰的变量,只能赋一次值

final修饰的实例变量一般添加static修饰 变成静态的,存储在方法区,节省空间。

结论:static final联合修饰的变量成为“常量”
     常量名要全部大写,每个单词之间采用下划线衔接
     
常量:实际上和静态变量一样 区别在于:常量的值不能变。
     
     常量和静态变量,都是存储在方法区,并且都是在类加载时初始化
     
     常量一般都是公开的:public的。



*/

public class FinalTest03{
    public static void main(String[]args){
        System.out.println(Chinese.COUNTRY);
        //错误:无法为最终变量COUNTRY赋值
        //Chinese.COUNTRY="美国"; //常量是无法被重新赋值的
    }
}


class Chinese{
    //身份证号,每个人都不一样
    String idCard;
    String name;
    String birth;
    //国家的值是一个固定值:"中国"
    //实例对象在堆中,一个对象一份 一百个对象一百份
    //实例变量既然用final修饰了,说明该实例变量值不会随着对象的变化而变化
public static  final String COUNTRY="中国";
}

final修饰引用(只能指向一个对象)

/*
final修饰的变量 如果这个变量是一个"引用"会怎么样?
  final修饰的变量只能赋一次值
  "引用"是否是一个变量 :是
  
  总结:final修饰的引用
       1.该引用只能指向1个对象 并且它只能永远指向该对象
       无法再指向其他对象
       2.在该方法执行过程中,该应用指向该对象之后,该对象不会          被垃圾回收器回收,直到当前方法结束,才会释放空间
       3.虽然final的引用指向对象A后,不能重新指向对象B
         但是对象A内部的数据可以被修改
*/
public class FinalTest04{
    public static void main(String[]args){
        Person p=new Person(20);
        System.out.println(p1.age);
        //--------------------------------------
        // 代码不管怎么变化,p也是一个变量,只不过他是引用
        
        //错误:无法为最终变量p分配值 地址不能改变
    //   final Person p=new Person(30);//0x1234;
     //   p=new Person(30);//0x2589
        
        
    }
        
}
    
class Person{
    int age;
    public Person(){}
    public Person(int age){
        this.age=age;
    }
    
}

内存图

在这f里插入图片描述

安装WSL过程中出现注册表编辑器无法重命名WSL。重命名项时出现错误的解决方案 本文主要介绍了安装WSL过程中出现注册表编辑器无法重命名WSL。重命名项时出现错误的解决方案,希望能对使用Windows WSL的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案 阅读详情

相关推荐

手把手教你用键盘在Ubuntu上给Lerobot机械臂采集HIL-SERL训练数据(附完整配置文件)

本文详细介绍了在Ubuntu系统中使用键盘控制Lerobot机械臂进行HIL-SERL训练数据采集的完整流程。从环境准备、机械臂校准到键盘遥操系统配置和数据采集优化,提供了实战指南和常见问题解决方案,帮助读者高效获取高质量训练数据,推动具身智能和强化学习应用的发展。

weixin_30733003的博客 474

final修饰局部变量的用处和注意事项细节 Java ——final可不可以修饰局部变量?修饰之后能不能继承?是否可以被继承后的类重写?final修饰局部变量有什么用处呢?

final可不可以修饰局部变量?修饰之后能不能继承?是否可以被继承后的类重写?final修饰局部变量有什么用处呢?

m0_58379758的博客 1037

离线语音识别模块LD3320实战:如何低成本给STM32设备加上‘耳朵’和‘嘴巴’?

本文详细介绍了如何为STM32设备集成LD3320离线语音识别模块,实现低成本语音交互方案。从硬件连接到STM32底层驱动实现,再到指令训练与词条优化技巧,完整解析了唤醒词检测与自定义指令识别的全过程。LD3320作为非特定人声识别芯片,无需网络连接,适用于智能家居、工业控制等场景,是嵌入式开发者的理想选择。

weixin_30906185的博客 551

Java基础 --- final关键字

final修饰局部变量 final修饰成员变量 final修饰方法 final修饰类 final和多线程

HelloWorld 595

广东电信兆能Z82盒子救砖记:手把手教你用U盘强刷HI3798MV100固件(附短接图)

本文详细介绍了广东电信兆能Z82盒子变砖后的救砖方法,重点讲解了使用U盘强刷HI3798MV100固件的全流程,包括诊断、准备工作、短接操作及刷机后的优化设置。特别针对m8233主板和8188无线方案的机型,提供了实用的短接图和操作技巧,帮助用户成功恢复设备。

weixin_30325487的博客 394

企业如何开展BI建设--指标体系建设

很多企业的数字化转型工作都是从做BI项目开始的,很多企业认为,BI就是做指标大屏,所以做了很多的驾驶舱,也做了很多指标,有从系统取的,有手工填报的,甚至手工填报的比例占到了70%,最终BI沦为了填报系统,业务认为BI就是把从线下的微信沟通转到了线上录入展示,并没有给业务代来任何提升,久而久之,BI大屏就没人关心,公司高层也认为数据都是填报的,都经过了加工处理,这种数据不可信,不能反映业务开展的实际。其实在BI系统建设之前,我们首先要做的就是要梳理企业的指标,到底我们要展示哪些指标?

259

Java final关键字

但是在实际工程项目中很少使用final方法,原因是很多框架工具都会采用“动态代理”技术代理(重写)对象的功能,实现灵活的软件功能,如果使用final的方法将直接影响这些框架功能!方法上可以使用final修饰,final的方法在子类中不能被重写修改了。final修饰的方法不会影响方法在当前类中的使用,但是如果派生了子类,则在子类中不能重写修改父类中定义的final方法。final修饰以后也是初始化以后不能再次修改,由于方法参数是在调用方法传递参数值时候初始化的,所以在方法运行期间方法参数变量的值不能修改了。

zhangyan_1010的专栏 1127

激光打标轴坐标计算分析

‌:基于坐标差的平方和开方运算,勾股定理将几何关系转化为代数计算,从而实现了从坐标到距离的精确转换‌12。直角三角形的应用从上图可以看到A,B,P三个点连起来就是一个直角三角形了。用勾股定理计算距离 C#有相关的方法直接传参数就可以了。很方便。

StevenChen的博客 299

Java final关键字、abstract和final的关系是什么、final修饰局部变量、final修饰静态成员变量、final修饰实例成员变量

final final关键字是最终的意思,可以修饰成员方法,成员变量,类 final修饰的特点 修饰方法:表明该方法时最终方法,不能被重写 修饰变量:表明该变量是常量,不能再次被赋值 修饰类:表明该类是最终类,不能被继承 final修饰局部变量: final修饰基本类型变量: 基本类型的数据值不变。不能再次被赋值。其已变为常量。 final修饰引用类型变量: 引用类型的地址值不变 。地...

七七的博客 242

智能小车避障功能的实现(cpp,ubuntu)

智能小车避障功能的实现(cpp,ubuntu)

weixin_62135607的博客 4365

【原创】汇川H5U PLC控制伺服的方法

6、在线调试-进入伺服调试,可以在本软件上进行调试,可以实现原点回归、正向点动、反向电动、使能(这里使能打开时触摸屏上的使能不能打开,会冲突)、复位、停止(如下图所示)。5、在原点返回设置中一般情况下对原点信号、正限位、负限位、原点返回方向、原点返回方式进行设置,其他设置默认不改(如下图所示)。3、在单位换算设置上只需要修改脉冲数和移动量(根据伺服配套导轨上名牌进行设置),其他设置默认不改(如下图所示)。11、双击后右边出现编辑框 在上半部分定义变量(IN、INOUT、OUT、VAR)(如下图所示)。

Qinmingyue13的博客 6649

Java中final关键字

java final用法

liuqinhou的博客 1263

图机器学习(1)——图论基础

图 (Graph) 是一种描述实体间关系的数学结构,几乎在各个领域都有应用。例如,社交网络就是图,其中用户之间的连接取决于一个用户是否“关注”另一个用户。图论,即对图的研究,一直以来广受关注,包含了大量算法、性质分析方法和数学模型,以解析复杂系统的行为特征。本节将介绍图数据结构的核心概念,通过理论阐述与实例演示相结合的方式,理解基础理论用以实践应用。重点介绍用于创建、操作和研究复杂网络结构与功能的 Python 库。

盼小辉丶的博客 8763

java final 关键字

java的final关键字详解

tuoniaoxs的博客 3万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Java中的final关键字

目录 概述总结:修饰类:修饰方法:修饰变量:普通变量对值进行改变修饰引用对象入理解final关键字1.类的final变量和普通变量有什么区别?2.被final修饰的引用变量指向的对象内容可变吗?3.final和static4.匿名内部类中使用的外部局部变量为什么只能是final变量?5.关于final参数的问题final关键字,学过java的想必都不陌生,在使用匿名内部类的时候可能会经常用到final关键字。另外,Java中的String类就是一个final类,那么今天我们就来总结一下final这个关键字的

奇点 2025

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

java关键字之final

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

u014344668的专栏 332

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Java 中 final 关键字详解

在 Java 中,final 关键字可以修饰的东西比较多,很容易混淆,在这里记录一下。主要从功能上说明一下,不做过多的代码演示。 final 关键字用途 1. final 变量 凡是对成员变量或者本地变量(在方法中的或者代码块中的变量称为本地变量)声明为final的都叫作final变量。final变量经常和static关键字一起使用,作为常量。用final关键字修饰的变量,只能进行一次赋值操作,并且在生存期内不可以改变它的值。 2. final方法参数 如果 final 关键字修饰方法参数时,方法中是不能改

qhh0205 3130

java final关键字

java final关键字final关键字的含义是什么?final关键字的用法有哪些?final关键字具体怎么用? final关键字的含义是什么? final关键字通常指“这是无法改变的”。主要用于设计或者优化。但是随着java的发展,优化的功能基本无效了。 final关键字的用法有哪些? final数据:数据具有只读性。 final方法:方法不可被覆盖。(private方法隐含final效果)...

Imperial_Vmlion的博客 261

java之final关键字

java之final关键字详解

XiaoCha的博客 433

Java Final关键字示例

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

一名可爱的技术搬运工 323

Java final关键字使用

Java中的final关键字非常重要,它可以应用于类、方法以及变量。

学海无涯路的专栏 555

Java final 关键字

Java final关键字是一个非访问权限修饰符(non-access modifier),他可以用于变量(variable),方法(method)或者类(clas是)。 Final Variables Final Variables -> 用于构造一个常量(constant variables),所以必须初始化一个final variables。 注意:如果variables是一...

止于至善 264

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的博客 361

java中final关键字的总结

final关键字的理解   可以用于生命属性,方法,方法参数和类。分别表示属性不可变(这里不可变指引用的不可变,而非对象的不可变 ),方法不可被覆盖或重写,方法参数和属性相同,类不可被继承(此时类内所有方法默认成为final类型)。 -final声明属性   被final修饰的变量不可变指的是引用的不可变性,而不是对象的不可变,它只能指向初始时指向的那个对象,但是指向对象的内容是可以变化的。所以...

weixin_44332499的博客 228

Java中的final关键字详解

三种被final修饰的场景:Java中final关键字的使用很频繁,它可以修饰变量、方法跟类。“final”的英文意思是最终的、不可更改的意思,因此被final修饰的变量、方法或类是不能被更改的。 final一般会跟static关键字结合使用。

解忧杂货铺 792

浅析Java中的final关键字

原文 浅析Java中的final关键字 一.final关键字的基本用法 在Java中,final关键字可以用来修饰类、方法和变量(包括成员变量和局部变量)。下面就从这三个方面来了解一下final关键字的基本用法。 1.修饰类 当用final修饰一个类时,表明这个类不能被继承。也就是说,如果一个类你永远不会让他被继承,就可以用final进行修饰。final类中的成员变量可以根据需要设为final,但是要注意final类中的所有成员方法都会被隐式地指定为final方法。 在使用final修饰类的时候,要注意谨

ss810540895的博客 217
下一篇: 抽象类
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值