java中的final关键字详解及实例
作者:lqh 时间:2022-03-02 11:26:59
java中的final关键字详解
final的作用随着所修饰的类型而不同
1、final修饰类中的属性或者变量
无论属性是基本类型还是引用类型,final所起的作用都是变量里面存放的“值”不能变。
这个值,对于基本类型来说,变量里面放的就是实实在在的值,如1,“abc”等。
而引用类型变量里面放的是个地址,所以用final修饰引用类型变量指的是它里面的地址不能变,并不是说这个地址所指向的对象或数组的内容不可以变,这个一定要注意。
例如:类中有一个属性是final Person p=new Person("name"); 那么你不能对p进行重新赋值,但是可以改变p里面属性的值,p.setName('newName');
final修饰属性,声明变量时可以不赋值,而且一旦赋值就不能被修改了。对final属性可以在三个地方赋值:声明时、初始化块中、构造方法中。总之一定要赋值。
2、final修饰类中的方法
作用:可以被继承,但继承后不能被重写。
3、final修饰类
作用:类不可以被继承。
思考一个有趣的现象:
byte b1=1;
byte b2=3;
byte b3=b1+b2;//当程序执行到这一行的时候会出错,
因为b1、b2可以自动转换成int类型的变量,运算时Java虚拟机对它进行了转换,结果导致把一个int赋值给byte-----出错
如果对b1 b2加上final就不会出错
final byte b1=1;
final byte b2=3;
byte b3=b1+b2;//不会出错,相信你看了上面的解释就知道原因了。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
标签:java,final
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
详解Java的Hibernate框架中的Interceptor和Collection
2023-08-18 04:02:55
![](https://img.aspxhome.com/file/2023/2/72572_0s.png)
利用C#实现网络爬虫
2022-03-26 18:40:25
![](https://img.aspxhome.com/file/2023/6/72476_0s.jpg)
Java与SpringBoot对redis的使用方式
2021-06-11 19:23:39
![](https://img.aspxhome.com/file/2023/6/78916_0s.png)
Java编写迷宫小游戏
2021-08-06 12:53:33
![](https://img.aspxhome.com/file/2023/5/62975_0s.jpg)
mybatis-plus 扩展批量新增的实现
2023-07-14 14:24:13
Spring Security学习笔记(一)
2023-09-10 06:25:09
![](https://img.aspxhome.com/file/2023/8/76278_0s.png)
Java ConcurrentHashMap用法案例详解
2023-08-30 02:01:41
SpringBoot整合canal实现数据同步的示例代码
2022-05-07 19:51:24
![](https://img.aspxhome.com/file/2023/1/61661_0s.png)
Java操作IO对象流进行数据的读写
2021-08-25 03:33:49
java 使用异常的好处总结
2023-11-29 13:35:49
解析Java内存分配和回收策略以及MinorGC、MajorGC、FullGC
2023-02-06 08:22:19
![](https://img.aspxhome.com/file/2023/3/62783_0s.png)
java开发中使用IDEA活动模板快速增加注释的方法
2021-09-25 20:42:24
![](https://img.aspxhome.com/file/2023/9/86839_0s.png)
C#观察者模式(Observer Pattern)实例教程
2021-07-13 02:53:39
Hadoop运行时遇到java.io.FileNotFoundException错误的解决方法
2021-11-04 11:19:45
![](https://img.aspxhome.com/file/2023/5/64055_0s.png)
Spring boot创建自定义starter的完整步骤
2023-05-08 08:08:53
C#中FormClosing与FormClosed的区别详细解析
2023-01-26 16:28:13
解决mybatis一对多查询resultMap只返回了一条记录问题
2022-07-08 08:36:31
Java线程的调度与优先级详解
2023-04-30 13:48:13
Android嵌套RecyclerView左右滑动替代自定义view
2023-03-27 14:51:17
![](https://img.aspxhome.com/file/2023/9/89549_0s.gif)
Android客户端与服务端数据加密传输方案详解
2023-07-14 13:55:37
![](https://img.aspxhome.com/file/2023/7/82397_0s.jpg)