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
0
投稿

猜你喜欢

  • 详解Java的Hibernate框架中的Interceptor和Collection

    2023-08-18 04:02:55
  • 利用C#实现网络爬虫

    2022-03-26 18:40:25
  • Java与SpringBoot对redis的使用方式

    2021-06-11 19:23:39
  • Java编写迷宫小游戏

    2021-08-06 12:53:33
  • mybatis-plus 扩展批量新增的实现

    2023-07-14 14:24:13
  • Spring Security学习笔记(一)

    2023-09-10 06:25:09
  • Java ConcurrentHashMap用法案例详解

    2023-08-30 02:01:41
  • SpringBoot整合canal实现数据同步的示例代码

    2022-05-07 19:51:24
  • 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
  • java开发中使用IDEA活动模板快速增加注释的方法

    2021-09-25 20:42:24
  • C#观察者模式(Observer Pattern)实例教程

    2021-07-13 02:53:39
  • Hadoop运行时遇到java.io.FileNotFoundException错误的解决方法

    2021-11-04 11:19:45
  • 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
  • Android客户端与服务端数据加密传输方案详解

    2023-07-14 13:55:37
  • asp之家 软件编程 m.aspxhome.com