当前位置: 首页 > news >正文

final 在 java 中有什么作用?

微信搜索《Java鱼仔》,每天一个知识点不错过

(一)每天一个知识点

final 在 java 中有什么作用?

(二)结论

final作为Java中的关键字可以用于三个地方。用于修饰类、类属性和类方法。

特征:凡是引用final关键字的地方皆不可修改!

(1)修饰类:表示该类不能被继承;

(2)修饰方法:表示方法不能被重写;

(3)修饰变量:表示变量不能被修改。

(三)再多学一点

(3.1)修饰变量

final修饰变量后这个变量不能被修改,这个不能被修改的说法对于不同的数据类型有不同的含义。

首先对于8个基本数据类型,当使用final修饰时,初始化后这个值是不会变的。

在这里插入图片描述
如果使用final修饰引用类型数据时,表示该引用初始化后永远指向一个地址,而这个地址里的对象是可以修改的。

final User user=new User("javayz",23);
user.setAge(18);

在上面一段代码中,用final修饰了自定义的User对象,但user对象依旧可以被修改。

(3.2)修饰方法

final修饰方法的作用是让方法无法被重写,这里没有太多额外的内容

(3.3)修饰类

当使用final修饰类的时候表明这个类不能被继承,被修饰的类所有成员方法都会被隐式地修饰为final方法。

相关文章:

  • String str=“i”与 String str=new String(“i”)一样吗?
  • ajaxStart()和ajaxStop()方法
  • 如何让多个线程按顺序执行?
  • 泛型设计实现反向比较器
  • 说一下 HashMap 的实现原理?
  • 两个对象的 hashCode()相同,则 equals()也一定为 true吗?
  • 抽象类必须要有抽象方法吗?抽象类能使用 final 修饰吗?
  • CLion 2016.1新增Python、Swift支持,并改进了C++支持
  • SpringBoot如何实现异步、定时任务?
  • Java中BIO、NIO、AIO 有什么区别?
  • 网络协议系列之二:HTTP(2)
  • redis和mysql数据不一致问题如何解决?
  • Spring中的资源加载策略
  • 你知道迭代器 Iterator 是什么吗?
  • 什么是乐观锁、什么是悲观锁,两种锁在Java中的具体应用场景有哪些
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • centos安装java运行环境jdk+tomcat
  • Laravel 中的一个后期静态绑定
  • MySQL-事务管理(基础)
  • Node + FFmpeg 实现Canvas动画导出视频
  • Vue小说阅读器(仿追书神器)
  • 笨办法学C 练习34:动态数组
  • 开发基于以太坊智能合约的DApp
  • 前端存储 - localStorage
  • 使用docker-compose进行多节点部署
  • 写代码的正确姿势
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • Nginx实现动静分离
  • 继 XDL 之后,阿里妈妈开源大规模分布式图表征学习框架 Euler ...
  • ​TypeScript都不会用,也敢说会前端?
  • ​第20课 在Android Native开发中加入新的C++类
  • # Panda3d 碰撞检测系统介绍
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (解决办法)ASP.NET导出Excel,打开时提示“您尝试打开文件'XXX.xls'的格式与文件扩展名指定文件不一致
  • (学习日记)2024.01.19
  • (一)appium-desktop定位元素原理
  • (一)SpringBoot3---尚硅谷总结
  • (幽默漫画)有个程序员老公,是怎样的体验?
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • (轉貼) 蒼井そら挑戰筋肉擂台 (Misc)
  • .NET Core使用NPOI导出复杂,美观的Excel详解
  • .NET Micro Framework初体验(二)
  • .Net接口调试与案例
  • .NET开发者必备的11款免费工具
  • .NET开源快速、强大、免费的电子表格组件
  • .net连接MySQL的方法
  • .NET设计模式(7):创建型模式专题总结(Creational Pattern)
  • .Net转Java自学之路—SpringMVC框架篇六(异常处理)
  • .sh 的运行
  • @reference注解_Dubbo配置参考手册之dubbo:reference
  • @RequestBody的使用
  • [ C++ ] STL_stack(栈)queue(队列)使用及其重要接口模拟实现